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