SQL:如何将两列与标点符号组合在一起



我想使用 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

在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子句,事情可能会变得丑陋。

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

按如下方式使用 Concat() 函数

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

最新更新