【问题标题】:Using PatIndex and CharIndex like the InStr function像 InStr 函数一样使用 PatIndex 和 CharIndex
【发布时间】:2013-08-19 11:40:56
【问题描述】:

我尝试为此使用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,有人知道为什么不正确吗?

【问题讨论】:

    标签: sql-server sql-server-2008 patindex charindex


    【解决方案1】:

    你搞错了。

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

    【讨论】:

      【解决方案2】:

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

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

      【讨论】:

        猜你喜欢
        • 2022-10-24
        • 1970-01-01
        • 2017-03-18
        • 2013-05-29
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-11-17
        • 1970-01-01
        相关资源
        最近更新 更多