[SQL ] ISNULL問題

看板Database (資料庫)作者 (談無慾)時間8年前 (2016/05/14 12:13), 編輯推噓0(002)
留言2則, 2人參與, 最新討論串1/1
(針對 SQL 語言的問題,用這個標題。請用 Ctrl+Y 砍掉這行) 資料庫名稱:SQL SERVER 資料庫版本:2012 內容/問題描述: 最近在看CODE 看到這行 WHERE (ISNULL(@WT_NO, '') = '' OR A.T_NO LIKE @WT_NO + '%') AND (ISNULL(@WT_DATES, '') = '' OR B.T_DATE >= @WT_DATES) 請問這行應該怎麼解釋比較好? ISNULL(@WT_NO, '') = '' 我個人的解釋是 如果當@WT_NO裡面的參數 EX. @WT_NO @WT_NO 1 -> 1 NULL '' 2 2 有NULL值的話 就把NULL值用''去取代 再去比對 是否 = '' 所以當真的有NULL值的話 (ISNULL(@WT_NO, '') = '' OR A.T_NO LIKE @WT_NO + '%') 就會被當成true 就會繼續跑and的那行 不知道我這樣的理解是否正確? -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 220.134.249.8 ※ 文章網址: https://www.ptt.cc/bbs/Database/M.1463199203.A.4A1.html

05/14 22:36, , 1F
Yes
05/14 22:36, 1F

05/14 23:05, , 2F
有值就依條件查詢,無值就全部列出。
05/14 23:05, 2F
文章代碼(AID): #1NDgNZIX (Database)
文章代碼(AID): #1NDgNZIX (Database)