我正在从MySQL切换到SQL Server2008Express,但似乎找不到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
我得到以下错误消息:
消息195,级别15,状态10,第1行
“‘concat”不是可识别的内置函数名。
有什么建议吗?
发布于 2011-12-18 04:36:25
也许就像这样,
SELECT DISTINCT id1, id2, id1 + ', ' + id2
这样行得通吗?
发布于 2013-02-14 23:06:38
您可以在SQL2008中使用CONCAT (如果您确实需要),方法是将其括在方括号中
{fn CONCAT(id1,id2)} AS combo1
注意: CONCAT只接受两个参数,因此如果您希望连接两个以上的字符串,则必须嵌套它们:
{fn CONCAT(id1,{fn CONCAT(id2,id3)})} AS combo2
发布于 2013-12-31 06:22:25
CONCAT
在SQL Server2008中不存在,它是自SQL Server2012以来的新特性。
您可以使用:
select id1, id2, id1 + ", " + id2 as combo1
FROM db1
group by combo1
https://stackoverflow.com/questions/8547737
复制相似问题