首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

SQL里有没有InstrRev类似的函数,或者有没有从字符末尾开始查找某个字符的函数?解决方案

2012-03-09 
SQL里有没有InstrRev类似的函数,或者有没有从字符末尾开始查找某个字符的函数?如题:SQL里有没有InstrRev类

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

热点排行