SQL Server 拆分字符串方法详解
来源:互联网 发布:淘宝点赞买家秀要钱吗 编辑:程序博客网 时间:2024/05/21 22:28
在数据库中我们有可能要对字符串分解,特别是在对数据库做批量操作的时候,我们用一个字符串来代替了对数uk的富多次连接。分解字符串在C#里面很简单,可是在SQL里面就稍微有点复杂,不过想明白了还是比较简单的。希望下面的内容能帮到到您!
代码示例和解释
– 需要截取的字符串
declare @value varchar(max)
–截取完成以后得到的值
declare @temp varchar(max)
–记录分隔符的位置
declare @index int
–要截取的字符串,注意指定分隔符, 这里是用的是 ‘,’来分割的,
— 注意,这里最后多了一个 ‘,’如果没有的话,最后面的一组数据是截取不了的。
set @value=’aa,bb,cc22,3333,4444,’
–随便设置一个默认值
set @index=1
–使用循环来截取
while(1=1)
begin
— 在指定字符串中查找指定字符串的位置(索引是从1开始数的)。
–数据库帮助文档说,如果没有找到就返回0
set @index=charindex(‘,’,@value)
–如果返回0就表示没有找完了,就可以推出循环了。
if(@index =0) break
– temp 就是找出来的值,left 也就是在指定的字符串中从左边取指定的个数,
— 注意因为index 上面找出来的位置已经包含了’,’ 的位置,所以要减 1
set @temp = left(@value,@index-1)
– 重新设置源字符串, right 和left 反正在,在指定的字符串中从右边向左边截取。
–index 是从左边数的第一个 ‘,’ 的位置,所以我们用字符串的总长度减去index
–就是新的字符串,下一次循环就在这个新的值上面操作。
set @value = RIGHT(@value,LEN(@value)-@index)
–显示结果
print ‘temp: ‘+@temp
end
go
结果:
temp: aa
temp: bb
temp: cc22
temp: 3333
temp: 4444
- SQL Server 拆分字符串方法详解
- sql server拆分字符串
- SQL Server拆分字符串的3常用种方法
- Sql Server 拆分字符串函数,测试可用
- Sql server 2005 CTE 拆分字符串
- Sql Server 拆分字符串 Function 很实用
- Sql Server 中的字符串拆分函数
- Sql Server 中的字符串拆分函数
- SQL 拆分字符串的经典方法
- SQL Server中通过拆分字符串来模拟数组
- 教你在SQL Server数据库中拆分字符串函数
- SQL Server中通过拆分字符串来模拟数组
- SQL拆分字符串
- 利用sql拆分字符串
- SQL 字符串拆分
- sql拆分字符串
- SQL 字符串拆分例子
- SQL 拆分参数字符串
- struts.xml文件中 result标签的 type 属性为redirectAction时URL参数与值的获得
- RPM是RedHat Package Manager(RedHat软件包管理工具)类似Windows里面的“添加/删除程序”
- 第七周项目2:成员函数、友元函数和一般函数求两点间的距离
- 硬币问题之记忆化搜索-动态规划 By ACReaper
- 【IOS】蓝牙通信示例
- SQL Server 拆分字符串方法详解
- 在JSP页面中获取当前日期时间
- Chrome 插件(Shockwave Flash)未响应 错误解决办法
- postfix搭建纯邮件转发服务器
- Oracle CBO知识点
- sqlite returned: error code = 14, msg = cannot open file at source line 25502
- oracle分析函数row_number() over()使用
- 程序员找工作需要看的书
- oracle sql语句执行顺序