SQLServer中没有MySQL中的group_concat函数,可以把分组的数据连接在一起. 后在网上查找,找到了可以实现此功能的方法,特此记录下. SELECT a, stuff((SELECT ',' + b FROM #tb WHERE a = t.a FOR xml path('')), 1, 1, '' )AS b from # tb AS t GROUP BY a; 先对a列进行分组,对分组中的b以Xml形式输出,再使用stuff将开关多出的,删掉. 具体实现参考:http:/
Decode() 对应 case when函数 case CHARINDEX('/',start_point_name) when 0 then start_point_name else substring(start_point_name,1,CHARINDEX('/',start_point_name)-1) end 注意:sqlserver在用case when判断是否为null时,语法不一样 判断null应该用: case when identifier is null then ai
minus这个集合操作符号的作用是从一个结果集合中减掉另一个结果集中数据,也就是说从一个结果集中去除两个结果集中的共有部分. 下面是一些例子: 这个例子使用minus从第一个结果集中将两个结果集的公有的部分去除. select * from a where col>= 10 minus select * from b where col < 30 order by 6 desc;--排序, 其中6为字段在结果表中的列数. 使用minus例子需要注意的问题和前面的几个集合操作符相同,一是可以级联