2024年10月4日 星期五

T-SQL 動態 WHERE 條件比對

很多時候我們需要依據使用者的輸入,來動態判斷哪個條件需要加入比對,針對不同的資料型態

或是預設值需要微調一下語法判斷,簡單比對一下...



首先我們有 Persons 資料表,以下是我們設計的篩選語法

假設我們可以動態比對的欄位有 Id,Address,CellPhone

其中 Id 為數值,其他兩個欄位為字串



由以上可知

參數 Id, 若沒有傳入值預設值為 -1,代表不用比對,直接取得 Id 欄位,反之需要比對參數 Id

若欄位 Address 可為 Null 值,則先將欄位轉空字串,當參數為空字串時,則直接取得 Address 

欄位,反之需要比對參數 Address

若欄位 CellPhone 不可為Null 值,當參數 CellPhone 為空字串,代表沒有傳入值,直接取得

CellPhone 欄位,反之需要比對參數 CellPhone


沒有留言:

張貼留言