Re: [SQL ] 是否避免null值
※ 引述《cyclone350 (老子我最神)》之銘言:
恕刪
: 假設有一個欄位是 sex
: sex 描述是這樣
: '1' 代表男人, '2' 代表女人, ' ' 或 NULL 代表無值, 若有其他值代表錯誤
: 今天假設你要做判斷,可以這樣做 (以下擷取片段plsql)
: case TRIM(ROWDATA.sex)
: when '1' then dbms_output.put_line('男人');
: when '2' then dbms_output.put_line('女人');
: when NULL then dbms_output.put_line('無值');
: else dbms_output.put_line('錯誤');
: end case;
null的判斷只能使用is null 或 is not null(這應該是基本的sql吧?)
所以您這樣寫當然判斷不出來
以您的例子可以用下面這個寫法
case
when trim(rowdata.sex) = '1' then
dbms_output.put_line('男人');
when trim(rowdata.sex) = '2' then
dbms_output.put_line('女人');
when trim(rowdata.sex) is null then
dbms_output.put_line('無值');
else
dbms_output.put_line('錯誤');
end case;
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 1.164.90.36
→
05/25 22:27, , 1F
05/25 22:27, 1F
→
05/25 22:28, , 2F
05/25 22:28, 2F
→
05/25 23:01, , 3F
05/25 23:01, 3F
→
05/25 23:04, , 4F
05/25 23:04, 4F
→
05/25 23:07, , 5F
05/25 23:07, 5F
→
05/25 23:08, , 6F
05/25 23:08, 6F
→
05/25 23:08, , 7F
05/25 23:08, 7F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 5 之 7 篇):