猿问

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

sql语句如何实现从后往前 截取字段啊.
比如说有有多个'///',
而charindex只能从第一个'/'开始数.
有什么函数能从后面开始数,而不是从第一个'/'开始吗?

慕勒3428872
浏览 1589回答 3
3回答

精慕HU

你先把字段反转后截取,截取完后再反转回来select REVERSE(substring(REVERSE(字段),1,3)) from 表REVERSE(字段名称,开始位置,要截取长度)

慕侠2389804

数据为:123///45623423///sadf要从第三个/截取后边的内容,可以使用如下语句,如表叫test,字段名叫str语句:1select REVERSE(substring(REVERSE(str),1,CHARINDEX('/',REVERSE(str))-1)) from test;结果截图:

守着星空守着你

配合是用REVERSE函数与charindex函数,然后再使用len函数取得字符串长度,对charindex函数的结果进行减法操作,详细解释:先使用REVERSE函数,然后使用charindex函数,再使用len函数取得字符串长度,对charindex函数的结果进行减法操作,^_^试下,应该可以解决问题!
随时随地看视频慕课网APP
我要回答