T-SQL筆記17_字串欄位比對_StartWith_Contains_charindex使用




一般比較常用的模糊比對like就不再多說
我們說在一串字串欄位中的比對篩選就有點類似要去對一排隊人龍做疾病篩檢
或去超商結帳時後不同特定產品結算

可以利用到
CHARINDEX ( expression1 , expression2 [ , start_location ] ) 
CHARINDEX函數會返回一個整數,
返回的整數是要找的sub string在被找的full string中的位置。
假如CHARINDEX沒有找到要找的字符串,那麼函數會返回整數0,若是在一開始則會返回1。

expression1是要到expression2中尋找的字符中
start_location是CHARINDEX函數開始在expression2中找expression1的位置。


在針對某些varchar欄位若想去進行
類似StartWith....
就能利用如下此句
CHARINDEX('特定目標子字串','完整字串欄位') = 1

或者有要做Contains比對
CHARINDEX('特定目標子字串','完整字串欄位') >= 1










Ref:
CHARINDEX (Transact-SQL)
https://docs.microsoft.com/zh-tw/sql/t-sql/functions/charindex-transact-sql?view=sql-server-ver15

https://stackoverflow.com/questions/9493844/is-there-startswith-or-contains-in-t-sql-with-variables

留言

這個網誌中的熱門文章

何謂淨重(Net Weight)、皮重(Tare Weight)與毛重(Gross Weight)

Architecture(架構) 和 Framework(框架) 有何不同?_軟體設計前的事前規劃的藍圖概念

(2021年度)駕訓學科筆試準備題庫歸納分析_法規是非題