mssql sql 字符串截取实例代码

[复制链接]
查看: 164|回复: 7
发表于 2018-3-19 17:08:07 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x

mssql sql 字符串截取实例代码

关于字符串截取我们用substring函数

substring   (   expression   ,   start   ,   length   )   返回字符、binary、text   或   image   表达式的一部分。
参数
expression
是字符串、二进制字符串、text、image、列或包含列的表达式。不要使用包含聚合函数的表达式。
start
是一个整数,指定子串的开始位置。
length
是一个整数,指定子串的长度(要返回的字符数或字节数)。


left   (   character_expression   ,   integer_expression   )   返回从字符串左边开始指定个数的字符。
参数
character_expression
字符或二进制数据表达式。character_expression   可以是常量、变量或列。character_expression   必须是可以隐式地转换为   varchar   的数据类型。否则,请使用   cast   函数显式转换   character_expression。
integer_expression
是正整数。如果   integer_expression   为负,则返回空字符串。
返回类型
varchar


right   (   character_expression   ,   integer_expression   )   返回字符串中从右边开始指定个数的   integer_expression   字符。
参数
character_expression
由字符数据组成的表达式。character_expression   可以是常量、变量,也可以是字符或二进制数据的列。
integer_expression
是起始位置,用正整数表示。如果   integer_expression   是负数,则返回一个错误。
返回类型
varchar


下面看实例
有一列的值为

  title
  aaaa,bb,cc
  bb,ff,gg
  ii


现在想截取成这样
  aaaa bb cc
  bb ff gg
  ii

也就是分成了3个字段了
请根据","来取 因为需求可能会是 要第2个逗号之前且第一个逗号之后的内容
所以根据逗号来判别更好!

if object_id('tempdb..#tb') is not null
drop table #tb
go
create table #tb (title varchar(50))  
go
insert into #tb select 'aaaa,bb,cc'
      union all select 'bb,ff,gg'
      union all select 'ii'
go


select
title1 = parsename(replace(title,',','.'), len(title) - len(replace(title,',',''))+1),
title2 = parsename(replace(title,',','.'), len(title) - len(replace(title,',',''))),
title3 = parsename(replace(title,',','.'), len(title) - len(replace(title,',',''))-1),
title4 = parsename(replace(title,',','.'), len(title) - len(replace(title,',',''))-2)
from #tb

/*
title1         title2         title3         title4
-------------- -------------- -------------- --------------
aaaa           bb             cc             null
bb             ff             gg             null
ii             null           null           null

(3 行受影响)


发表于 2018-5-4 17:33:11 | 显示全部楼层
确实是难得好帖啊,顶先
回复

使用道具 举报

发表于 2018-5-31 18:37:30 | 显示全部楼层
正需要,支持楼主大人了!
回复

使用道具 举报

发表于 2018-7-27 08:59:02 | 显示全部楼层
回的人少,我来小顶一下
回复

使用道具 举报

发表于 2019-2-1 19:52:55 | 显示全部楼层
回的人少,我来小顶一下
回复

使用道具 举报

发表于 2019-2-8 05:11:02 | 显示全部楼层
确实是难得好帖啊,顶先
回复

使用道具 举报

发表于 2019-2-25 02:50:09 | 显示全部楼层
这个帖一般般,还可以哦。
回复

使用道具 举报

发表于 2019-3-4 01:20:03 | 显示全部楼层
珍惜生命,果断回帖。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

友情链接
 
 
工作时间:
8:00-18:00
客服热线:
15368564009
客服微信