SQL里有没有InstrRev类似的函数,或者有没有从字符末尾开始查找某个字符的函数?
如题:SQL里有没有InstrRev类似的函数,或者有没有从字符末尾开始查找某个字符的函数?
------解决方案--------------------Reserve() & Charindex()
------解决方案----------------------没有,不过可以用其他函数代替,如
REVERSE 先进行字符串的反转,如何用查找字符串,如PATINDEX 等
------解决方案--------------------用Reverse()把字符串反转,然后用Charindex()从头开始匹配。
如 charindex(字符,reverse(字符串))
------解决方案--------------------select reverse( 'abc ')
==> cba
select charindex( 'c ', 'abcd ')
==> 3
-----
結合2個函數就可以了
------解决方案--------------------如过要确定出现的位置: len(字符串)-charindex(字符,reverse(字符串))
------解决方案-------------------- select charindex( 's ',reverse( 's124sf '))
------解决方案--------------------SQL中沒有這樣直接的函數,要用charindex 和 reverse 一起使用才有這個功能
------解决方案---------------------- 示例
DECLARE
@Source varchar(1000),
@Search varchar(100)
SELECT
@Source = 'AB1231ABCCABC ',
@Search = 'AB '
SELECT
最后一个匹配 = LEN(@Source) - CHARINDEX(REVERSE(@Search), REVERSE(@Source))
------解决方案--------------------select * from tb where charindex( '某个字符 ',reverse( '字符串 ')) > 0