我正在从MySQL切换到SQL Server 2008 Express,似乎找不到CONCAT() - esque函数。我有两列我想要组合成一个字符串并找到独特的组合。
id1 id2
001 abc1
002 qrs5
003 qrs5
003 abc1
... ...
当我尝试以下操作时:
select id1, id2, concat(id1, ", ", id2) as combo1
FROM db1
group by combo1
我收到以下错误消息:
Msg 195,Level 15,State 10,Line 1 'concat'不是公认的内置函数名称。
有什么建议吗?
答案 0 :(得分:35)
也许像是,
SELECT DISTINCT id1, id2, id1 + ', ' + id2
那会有用吗?
答案 1 :(得分:27)
您可以通过括在括号中来使用SQL 2008中的CONCAT(如果您真的想要)
{fn CONCAT(id1,id2)} AS combo1
注意:CONCAT只接受两个参数,因此如果你想连接两个以上的字符串,你必须嵌套它们:
{fn CONCAT(id1,{fn CONCAT(id2,id3)})} AS combo2
答案 2 :(得分:4)
CONCAT
,自SQL Server 2012以来它是新的。
你可以改用:
select id1, id2, id1 + ", " + id2 as combo1
FROM db1
group by combo1