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很多方面是想通的,但细节不同处无法避免,还是要多掌握基础才行