SQL Server函數(shù):charindex和patindex的用法
當(dāng)前位置:點(diǎn)晴教程→知識(shí)管理交流
→『 技術(shù)文檔交流 』
在Microsoft SQL Server中,CHARINDEX?函數(shù)用于在一個(gè)字符串中查找另一個(gè)指定字符串的起始位置。如果找到,返回指定字符串在源字符串中的起始位置索引(從?1?開始計(jì)數(shù));如果沒找到,則返回?0。 基本語法:
expressionToFind:?目標(biāo)字符串,就是想要找到的字符串,最大長度為8000?。 expressionToSearch:?用于被查找的字符串。 start_location(可選):?開始查找的位置,為空時(shí)默認(rèn)從第一位開始查找。 1、簡單測(cè)試:
結(jié)果為6。 2、增加開始位置,但結(jié)果還是從前往后數(shù)
結(jié)果為14。 3、大小寫敏感
結(jié)果為0。 4、大小寫不敏感,CI是Case-InSensitve的縮寫
結(jié)果為6。 5、提取第一個(gè)分號(hào)前的內(nèi)容
結(jié)果為: 測(cè)試2; 測(cè)試3; 測(cè)試12; 測(cè)試13; PATINDEX和CHARINDEX類似,PATINDEX也可以用來判斷一個(gè)字符串中是否包含另一個(gè)字符串,二者的差異在于,前者是全匹配,后者支持模糊匹配。 基本語法:
%pattern%:這是包含通配符的模式字符串。通配符“%”表示零個(gè)或多個(gè)字符。例如“% abc%”?可以匹配包含“abc”的任何字符串,像“xabc”、“abcdef”等。 expression:這是要在其中查找模式的源字符串。 例如:
結(jié)果為3。
結(jié)果為8。 注意: 1、在大多數(shù)簡單的、沒有通配符的字符串查找場景中,CHARINDEX?函數(shù)的效率通常更高。因?yàn)?span >?CHARINDEX?只需要進(jìn)行基本的字符串逐字符匹配,而?PATINDEX?函數(shù)由于要處理可能存在的通配符和復(fù)雜的模式匹配規(guī)則,會(huì)涉及更復(fù)雜的邏輯處理。 2、MySQL?不支持charindex和patindex函數(shù),但有類似功能的函數(shù)。 該文章在 2024/11/14 11:40:42 編輯過 |
關(guān)鍵字查詢
相關(guān)文章
正在查詢... |