[SQL ] ISNULL問題
(針對 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
05/14 22:36, 1F
→
05/14 23:05, , 2F
05/14 23:05, 2F
Database 近期熱門文章
PTT數位生活區 即時熱門文章