字元串查找。在模糊朝找的情況下,其實3者的效率是差不多的。都需要一個一個取出來然後掃一遍╮(╯_╰)╭。然而用法還是會有一點兒的區別 1 charindex (查找的字元串,字元串表達式[,開始查找的位置]) ,簡單來說用法就是這樣紙。然而這個函數對 text,ntext,image 類型無效,並且
字元串查找。在模糊朝找的情況下,其實3者的效率是差不多的。都需要一個一個取出來然後掃一遍╮(╯_╰)╭。然而用法還是會有一點兒的區別
1 charindex (查找的字元串,字元串表達式[,開始查找的位置]) ,簡單來說用法就是這樣紙。然而這個函數對 text,ntext,image 類型無效,並且從1開始哦~並不是0
SELECT CHARINDEX('123','123123123123123') --1 SELECT CHARINDEX('123','123123123123123',3) --4
2 Patindex ('%查找的字元串%',字元串表達式) ,既然能用 %% 那就表示了相容了like 所支持的正則表達式了。
SELECT PATINDEX('%1234%','1234123123123123') --1 SELECT PATINDEX('1234','1234123123123123') --0
3 like 這個就省略了╮(╯_╰)╭。
雖然說看起來like 沒有 patindex 寫起來方便,但是!如果是前匹配 AAA like 'B%' 的時候,可以走索引啊!!所以還是不同的情況選擇不同的方式
4 比對一下
正則匹配 | 選擇開始位置 | 支持索引查找 | |
like | 可以 | 不可以 | 部分可以 |
charindex | 不可以 | 可以 | 不可以 |
patindex | 可以 | 不可以 | 不可以 |
如果錯了,請各位拍磚~
祝大家新年快樂~