像InStr函数一样使用PatIndex和CharIndex



我尝试使用Instr,但没有成功,所以我发现使用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,有人知道为什么不是吗?

你已经把它颠倒了。

select patindex('%.com%', 'http://www.stackoverflow.com');
select charindex('.com', 'http://www.stackoverflow.com');

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

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

相关内容

  • 没有找到相关文章

最新更新