如何获取最后一个字符后面的字符串 sql中
写个动易标签的时候,有个地方要用到路径最后一个‘/’后面的字符串,用'substring-after()'只能判断第一个,求高人指点我是在sql中就要完成这个操作的...
写个动易标签的时候,有个地方要用到路径最后一个‘/’后面的字符串,用'substring-after()'只能判断第一个,求高人指点
我是在sql中就要完成这个操作的 展开
我是在sql中就要完成这个操作的 展开
4个回答
推荐于2018-03-01 · 知道合伙人数码行家
关注
展开全部
一.如:'6.7.8.2.3.4.x'得到最后一个'.'后面的字符串:
declare @str1 varchar(50)
set @str1='6.7.8.2.3.4.x'
select REVERSE(SUBSTRING(REVERSE(@str1),1,CHARINDEX('.',REVERSE(@str1))-1)) -------- string:'x'--
二.如:'6.7.8.2.3.4.x'得到最后一个'.'前面的字符串:
declare @str2 varchar(50)
set @str2='6.7.8.2.3.4.x'
SELECT substring(@str2,1,(LEN(@str2)-CHARINDEX('.',REVERSE(@str2)))) string:'6.7.8.2.3.4'--
三.如:'6.7.8.2.3.4.x'得到最后一个'.'在字符串的位置:
declare @str3 varchar(50)
set @str3='6.7.8.2.3.4.x'
SELECT LEN(@str3)-CHARINDEX('.',REVERSE(@str3))+1 --------Integer:12--
declare @str1 varchar(50)
set @str1='6.7.8.2.3.4.x'
select REVERSE(SUBSTRING(REVERSE(@str1),1,CHARINDEX('.',REVERSE(@str1))-1)) -------- string:'x'--
二.如:'6.7.8.2.3.4.x'得到最后一个'.'前面的字符串:
declare @str2 varchar(50)
set @str2='6.7.8.2.3.4.x'
SELECT substring(@str2,1,(LEN(@str2)-CHARINDEX('.',REVERSE(@str2)))) string:'6.7.8.2.3.4'--
三.如:'6.7.8.2.3.4.x'得到最后一个'.'在字符串的位置:
declare @str3 varchar(50)
set @str3='6.7.8.2.3.4.x'
SELECT LEN(@str3)-CHARINDEX('.',REVERSE(@str3))+1 --------Integer:12--
展开全部
sql语句可以截取指定字段后面的字符串,以sqlserver为例,需要用到charindex函数和substring函数。
如test表中有如下数据,要求截图str字段中逗号后边的内容。
可用如下语句:
1
select id,substring(str,charindex(',',str)+1,len(str)-charindex(',',str)) from test;
结果截图:
charindex函数说明:
语法:
charindex
(
expression1
,
expression2
,
[
start_location
]
)
参数:
expression1
一个表达式,其中包含要寻找的字符的次序。expression1
是一个短字符数据类型分类的表达式。
expression2
一个表达式,通常是一个用于搜索指定序列的列。expression2
属于字符串数据类型分类。
start_location
在
expression2
中搜索
expression1
时的起始字符位置。如果没有给定
start_location,而是一个负数或零,则将从
expression2
的起始位置开始搜索。
substring函数说明:
语法:
substring(
expression,
start, length)
参数:expression 字符串、二进制字符串、文本、图像、列或包含列的表达式start 整数或可以隐式转换为
int
的表达式,指定子字符串的开始位置length 整数或可以隐式转换为
int
的表达式,指定子字符串的长度
如test表中有如下数据,要求截图str字段中逗号后边的内容。
可用如下语句:
1
select id,substring(str,charindex(',',str)+1,len(str)-charindex(',',str)) from test;
结果截图:
charindex函数说明:
语法:
charindex
(
expression1
,
expression2
,
[
start_location
]
)
参数:
expression1
一个表达式,其中包含要寻找的字符的次序。expression1
是一个短字符数据类型分类的表达式。
expression2
一个表达式,通常是一个用于搜索指定序列的列。expression2
属于字符串数据类型分类。
start_location
在
expression2
中搜索
expression1
时的起始字符位置。如果没有给定
start_location,而是一个负数或零,则将从
expression2
的起始位置开始搜索。
substring函数说明:
语法:
substring(
expression,
start, length)
参数:expression 字符串、二进制字符串、文本、图像、列或包含列的表达式start 整数或可以隐式转换为
int
的表达式,指定子字符串的开始位置length 整数或可以隐式转换为
int
的表达式,指定子字符串的长度
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
是要找字符串中最后一个“/”吗?可以用String.LastIndexOf('/');
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
SELECT RIGHT(ATTACHURL, CHARINDEX('/',REVERSE(ATTACHURL))-1) FROM ATTACH
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询