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

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

如题目:

数据为:

123///456

23423///sadf

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

语句:

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

结果截图:

温馨提示:内容为网友见解,仅供参考
第1个回答  2008-09-25
配合是用REVERSE函数与charindex函数,然后再使用len函数取得字符串长度,对charindex函数的结果进行减法操作,
详细解释:先使用REVERSE函数,然后使用charindex函数,再使用len函数取得字符串长度,对charindex函数的结果进行减法操作,^_^试下,应该可以解决问题!
第2个回答  2008-09-24
你先把字段反转后截取,截取完后再反转回来

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

REVERSE(字段名称,开始位置,要截取长度)本回答被提问者采纳
第3个回答  2008-09-24
right( )这是右截取字段
相似回答