如何在两者之间连接两个字段和文本?我已经尝试了以下所有内容,但没有任何工作......
([fldCode1] || ':' ||[fldCode2]) AS Method
([fldCode1] + ':' + [fldCode2]) AS Method
([fldCode1] & ':' & [fldCode2]) AS Method
*** & cannot be used with varchar
答案 0 :(得分:7)
这应该有效
select [fldCode1] + ':' + [fldCode2]
from tab
或如果列是数字
select cast([fldCode1] as varchar(100)) + ':' + cast([fldCode2] as varchar(100))
from tab
答案 1 :(得分:3)
第一个和最后一个表单无效,但第二个表单当然可以,假设列是字符串。如果列是数字,日期等,则需要先进行转换:
SELECT Method = CONVERT(VARCHAR(255), fldCode1)
+ ':' + CONVERT(VARCHAR(255), fldCode2)
FROM ...
如果它们是字符串并且以下内容不起作用:
SELECT Method = fldCode1 + ':' + fldCode2 FROM ...
然后你需要更好地定义“不起作用”的意思......
答案 2 :(得分:2)
选择CONCAT('fldCode1',':','fldCode2')作为方法;
答案 3 :(得分:0)
从2008 SQL SERVER 2008开始(如果您尝试连接空列,请不要忘记使用ISNULL函数,否则结果将为null)。
SELECT ISNULL('myFirstString', '') + ' ' + ISNULL('mySecondString', '')
如果您不想使用ISNULL功能,也可以通过这种方式设置CONCAT_NULL_YIELDS_NULL,这样就可以了。
SET CONCAT_NULL_YIELDS_NULL OFF
SELECT 'myFirstString' + ' ' + 'mySecondString'
从SQL SERVER 2012开始就像那样简单
SELECT CONCAT ( 'Happy ', 'Birthday ', 11, '/', '25' )