CONCAT与CONCAT_WS

CONCAT(S1, S2,...,Sn)

返回连接参数产生的字符串。如有任何一个参数为NULL ,则返回值为 NULL

SELECT CONCAT('A', 'B', 'C')

=> ABC

SELECT CONCAT('A', 'B', NULL)

=> NULL

CONTCAT_WS(separator,S1,S2,...,Sn)

第一个参数是其它参数的分隔(可以是字符或其他参数),后续是要拼接的字符串

SELECT CONCAT_WS('@','A', 'B','C')

=> A@B@C

SELECT CONCAT_WS('@','A', 'B',NULL)

=> A@B

原来用的sql server,某字符型字段VAR_A为其他字符字段VAR_B加数值型字段INT组合时,都是将INT字段convert 再与VAR_B相加取得

如表:

想将name值更改为 N'测试' + id值,习惯写成了 

update user set name = concat(id, '') + N'测试' where id = 1

可想而知报错了,实际应该为

update user set name = concat(id,N'测试') where id = 1

虽然t-sql很多方面是想通的,但细节不同处无法避免,还是要多掌握基础才行

 

posted @ 2019-07-18 10:11  唯起  阅读(391)  评论(0编辑  收藏  举报