1

我尝试使用Instr这个,但没有用,所以我发现应该是等效的 using PatIndexCharIndex但是,当我运行这个时我遇到了一个问题:

SELECT PATINDEX(`http://www.stackoverflow.com`,'%.com%')

这返回0


SELECT CHARINDEX(`http://www.stackoverflow.com`,'%.com%')

这返回0


SELECT PATINDEX(`http://www.stackoverflow.com`,'.com')

这返回0


SELECT CHARINDEX(`http://www.stackoverflow.com`,'.com')

这返回0


我怎样才能让它像这样工作InStr

如果我的计算是正确的,它应该返回25而不是0,有谁知道为什么不是?

4

2 回答 2

3

你把它弄反了。

select patindex('%.com%', 'http://www.stackoverflow.com');
select charindex('.com', 'http://www.stackoverflow.com');
于 2013-08-17T00:43:25.020 回答
1

在计算列函数中使用这些函数时要小心。因为它们是不确定的。

https://technet.microsoft.com/en-us/library/aa214775(v=sql.80).aspx

于 2016-01-20T12:52:35.830 回答