欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

sql 记录函数 CONCAT与CONCAT_WS的一点区别

程序员文章站 2022-07-13 23:30:08
...

实际开发sql中可能会遇到这么一种情况:

CONCAT_WS(',',
if(FIND_IN_SET('01',e.skin),'1',''),
if(FIND_IN_SET('07',e.skin),'2',''),
if(FIND_IN_SET('08',e.skin),'3',''),
if(e.skin='' or e.skin is null or e.skin not in('01','07','08'),'4',''))

实际查出了的结果:可能会含有空,看起来非常不爽

1,,3,4,

非常想把多余的逗号去掉:

方法一:

'' 转null:

CONCAT_WS(',',
if(FIND_IN_SET('01',e.skin),'1',null),
if(FIND_IN_SET('07',e.skin),'2',null),
if(FIND_IN_SET('08',e.skin),'3',null),
if(e.skin='' or e.skin is null or e.skin not in('01','07','08'),'4',null))
1,3,4

这样就非常爽啦!!

二、体会区别:

SELECT CONCAT(null,'12','22');

SELECT CONCAT_WS(',',NULL,'12','13')

 

相关标签: sql语句 sql