1、Split    SQL Server 2008 新语法:
  1. DECLARE @str VARCHAR(MAX)
  2. SET @str = REPLACE(@teeIDs, ',', '''),(''')
  3. SET @str = 'SELECT * FROM (VALUES(''' + @str + ''')) AS V(A)'
  4. EXEC (@str)

据说这个SQL语法是SQL Server 2008的。
  1. SELECT * FROM (VALUES(1),(2),(3)) AS V(A)

配合个临时表,用起来还算方便。

  1. INSERT INTO #TMP
  2. EXEC (@sql)

2、Split    兼容老的SQL Server的语法(推荐):
  1. DECLARE @s VARCHAR(100) ,
  2. @sql VARCHAR(1000)
  3. SET @s = '1,2,3,4,5,6,7,8,9,10'
  4. SET @sql = 'select col=''' + REPLACE(@s, ',', ''' union select ''')
  5. + ''''
  6. PRINT @sql
  7. EXEC (@sql)
  8. -- CORE SQL:
  9. --EXEC ( 'select col=''' + REPLACE(@s, ',', ''' union select ''') )

3、Join  FOR XML PATH('')  观察下面三个SQL的查询结果的变化即可
 
  1. SELECT UserName='admin' UNION SELECT 'test' UNION SELECT 'abc'
  2. SELECT ',' + UserName FROM ( SELECT UserName='admin' UNION SELECT 'test' UNION SELECT 'abc') A FOR XML PATH('')
  3. SELECT stuff( (SELECT ',' + UserName FROM ( SELECT UserName='admin' UNION SELECT 'test' UNION SELECT 'abc') A FOR XML PATH(''))
  4. ,1,1,'')

SQL Server 字符串拼接与拆分 string varchar Split and Join的更多相关文章

  1. SQL Server 字符串拼接、读取

    一.查询结果使用,字符串拼接 declare @names nvarchar(1000) declare @ParmDefinition nvarchar(1000) declare @sqltext ...

  2. SQL中字符串拼接

    1. 概述 在SQL语句中经常需要进行字符串拼接,以sqlserver,oracle,mysql三种数据库为例,因为这三种数据库具有代表性. sqlserver: select '123'+'456' ...

  3. sql server字符串的类型

    sql server字符串分为不同的类型,下面就将为您介绍几个sql server字符串的常见类型,希望对您学习sql server字符串能有所帮助. nchar 此数据类型可存储1~4000个定长U ...

  4. sql server 字符串替换函数REPLACE

    sql server 字符串替换函数REPLACE函数的使用 <pre name="code" class="sql">--参数1:需要替换字符的母 ...

  5. sql server 字符串拆分

    最近项目调取存储的时候直接传入string 作为in的查询范围,结果报错了,深思之后才发现,数据库对于传进来的String,并不是我们想的直接可以作为参数,而是作为一个整体,而in是需要一个类似arr ...

  6. SQL SERVER 字符串函数 STRING_SPLIT()

    定义: STRING_SPLIT()函数根据指定的分隔符将字符串拆分为子字符串行. ※STRING_SPLIT 要求兼容性级别至少为 130. (即SSMS 2016及以上版本) ※级别低于 130 ...

  7. SQL Server字符串左匹配

    在SQL Server中经常会用到模糊匹配字符串的情况,最简单的办法就是使用like关键字(like语法http://msdn.microsoft.com/en-us/library/ms179859 ...

  8. Sql Server 字符串操作总结

    SQL Server 支持两种字符数据类型---常规和Unicode:常规类型包括char 和varchar:unicode包括nchar 和nvarchar.常规的每个字符占用一个字节存储,而uni ...

  9. sql server 字符串转成日期格式

    在SQL Server数据库中,SQL Server日期时间格式转换字符串可以改变SQL Server日期和时间的格式,是每个SQL数据库用户都应该掌握的.本文我们主要就介绍一下SQL Server日 ...

随机推荐

  1. hdu 3062+1824(2-sat入门)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3062 思路:根据矛盾关系连边(如果a与b矛盾,则连边a'->b,b'->a),然后强连通缩 ...

  2. iOS 阿里百川SDK集成注意点

    百川SDK是阿里系OneSDK的终极版本,里面包含了所有的阿里系的基本所有的SDK,集成的时候你只需要勾选对应的你需要的模块,然后生成对应的SDK即可,百川主要是针对帮助APP开发者在各种场景下快速. ...

  3. LeetCode Problem 169: Majority Element查找多数元素

    描述:Given an array of size n, find the majority element. The majority element is the element that app ...

  4. Linux - Ubuntu Server基础

    Ubuntu Server:部署环境,用来部署项目的server系统. XShell:用来连接linux的工具.web项目要部署到远程服务器上,所以需要XShell来连接远程服务器. pycharm: ...

  5. hihocoder 1279(状压)

    坑爹的题目.不过不能说不是一道挺好的题目. 坑主要坑在,妹的我一样的复杂度,写的姿势略差了点然后就一直超时. 比赛的时候我还直接就看错题目,把AND运算看成了OR...还敲完交了一发. 这题很容易想到 ...

  6. ST表(离线RMQ)

    离线RAQ时,预处理为O(n*lgn),查询为O(1)的算法,比较有意思的一种算法 放个模板在这可以随时看 //ST表(离线) //预处理 O(n*lgn) , 查询 O(1) #include &l ...

  7. EasyNVR摄像机无插件直播流媒体服务器前端构建之输入框样式的调整

    EasyNVR授权方式分为软件的授权和硬件授权两种方式,软件授权需要在软件输入永久邀请码可以激化永久授权 起初我们的界面设计是为了满足功能的需求就是 ,用户可以输入激活码提交,完成永久授权. 在实际的 ...

  8. FZU 1063 三维扫描(三维连通块)

    Accept: 415    Submit: 1291 Time Limit: 1000 mSec    Memory Limit : 32768 KB  Problem Description 工业 ...

  9. POJ 1789 Truck History【最小生成树简单应用】

    链接: http://poj.org/problem?id=1789 http://acm.hust.edu.cn/vjudge/contest/view.action?cid=22010#probl ...

  10. 数组中binarySearch 中小小的误区! 用的时候大家要注意点