Re: [SQL ] 是否避免null值

看板Database作者 (如夢似幻)時間12年前 (2013/05/25 16:57), 編輯推噓0(007)
留言7則, 2人參與, 最新討論串5/7 (看更多)
※ 引述《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
我只是在闡述null無法用一般判斷式... 怎麼大家都認為
05/25 22:27, 1F

05/25 22:28, , 2F
我不會... 而且我本文下面也解釋了...
05/25 22:28, 2F

05/25 23:01, , 3F
這不是pl/sql才這樣判,而是sql本身對null就這樣判斷咧..
05/25 23:01, 3F

05/25 23:04, , 4F
所以並不會是問題阿...
05/25 23:04, 4F

05/25 23:07, , 5F
小弟本身工作是負責Oracle ERP的開發跟維運
05/25 23:07, 5F

05/25 23:08, , 6F
坦白說連oracle原廠很多地方都有用null的地方,真的不太認
05/25 23:08, 6F

05/25 23:08, , 7F
為null的使用會是個問題...
05/25 23:08, 7F
文章代碼(AID): #1He7q9in (Database)
討論串 (同標題文章)
文章代碼(AID): #1He7q9in (Database)