SQL:如何使用标点符号组合两列?

时间:2016-03-18 15:10:58

标签: mysql sql concatenation

我想将两列合并为一列,然后用' /'使用SQL语句

目前,我只能这样做。

Select A.Marks, Q.NoOfAnsBox FROM AnswerTable AS A INNER JOIN QuestionTable AS 
Q WHERE A.QuestionID = Q.QuestionID

输出:

Marks NoOfAnsBox    
3     5    
2     5

我是否可以知道是否可以将其作为一列输出如下?

Marks    
3/5    
2/5

我尝试将整数转换为字符串并执行连接但未能获得所需的结果

Select (CONVERT(A.Marks, Char(50)) + '/' + Convert(Q.NoOfAnsBox,Char(50))) As     
Marks FROM AnswerTable AS A INNER JOIN QuestionTable AS Q WHERE A.QuestionID = 
Q.QuestionID


Marks    
8    
7

3 个答案:

答案 0 :(得分:3)

在Mysql中使用CONCAT()函数来连接字符串,+在这里的行为与其他RDBMS不同:

Select CONCAT(A.Marks, '/', Q.NoOfAnsBox) As Marks 
FROM AnswerTable AS A 
    INNER JOIN QuestionTable AS Q ON A.QuestionID = Q.QuestionID

还可以考虑将“WHERE”更改为“ON”。在你的情况下,它们是同义词,但是如果你将INNER联接转换为LEFT OUTER联接而忘记使用WHERE子句,那么事情就会变得很难看。

答案 1 :(得分:1)

Select CONCAT(A.Marks, '/', Q.NoOfAnsBox) AS Marks FROM AnswerTable AS A INNER JOIN QuestionTable AS 
Q WHERE A.QuestionID = Q.QuestionID

答案 2 :(得分:0)

使用Concat()功能如下

 Select CONCAT(A.Marks, '/', Q.NoOfAnsBox) AS Marks 
 FROM AnswerTable AS A INNER JOIN QuestionTable AS Q 
 WHERE A.QuestionID = Q.QuestionID