为了账号安全,请及时绑定邮箱和手机立即绑定

sql语句如何实现从后往前 截取字段啊?

sql语句如何实现从后往前 截取字段啊?

慕勒3428872 2019-02-06 11:07:30
sql语句如何实现从后往前 截取字段啊.比如说有有多个'///',而charindex只能从第一个'/'开始数.有什么函数能从后面开始数,而不是从第一个'/'开始吗?
查看完整描述

3 回答

?
精慕HU

TA贡献1845条经验 获得超8个赞

你先把字段反转后截取,截取完后再反转回来

select REVERSE(substring(REVERSE(字段),1,3)) from 表

REVERSE(字段名称,开始位置,要截取长度)

查看完整回答
反对 回复 2019-03-21
?
慕侠2389804

TA贡献1719条经验 获得超6个赞

数据为:

123///456

23423///sadf

要从第三个/截取后边的内容,可以使用如下语句,如表叫test,字段名叫str

语句:

1select REVERSE(substring(REVERSE(str),1,CHARINDEX('/',REVERSE(str))-1)) from test;

结果截图:



查看完整回答
反对 回复 2019-03-21
?
守着星空守着你

TA贡献1799条经验 获得超8个赞

配合是用REVERSE函数与charindex函数,然后再使用len函数取得字符串长度,对charindex函数的结果进行减法操作,
详细解释:先使用REVERSE函数,然后使用charindex函数,再使用len函数取得字符串长度,对charindex函数的结果进行减法操作,^_^试下,应该可以解决问题!

查看完整回答
反对 回复 2019-03-21
  • 3 回答
  • 0 关注
  • 1588 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信