我尝试使用Instr
,但没有用,所以我发现应该使用PatIndex
和CharIndex
等效,但是,我在这里遇到问题当我跑这个时:
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
,任何人都知道它为什么不是?
答案 0 :(得分:3)
你已经逆转了。
select patindex('%.com%', 'http://www.stackoverflow.com');
select charindex('.com', 'http://www.stackoverflow.com');
答案 1 :(得分:1)
在计算列功能中使用这些功能时要小心。因为它们是非确定性的。
https://technet.microsoft.com/en-us/library/aa214775(v=sql.80).aspx