看板 Database 關於我們 聯絡資訊
※ 引述《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
cyclone350:我只是在闡述null無法用一般判斷式... 怎麼大家都認為 05/25 22:27
cyclone350:我不會... 而且我本文下面也解釋了... 05/25 22:28
fantasyj:這不是pl/sql才這樣判,而是sql本身對null就這樣判斷咧.. 05/25 23:01
fantasyj:所以並不會是問題阿... 05/25 23:04
fantasyj:小弟本身工作是負責Oracle ERP的開發跟維運 05/25 23:07
fantasyj:坦白說連oracle原廠很多地方都有用null的地方,真的不太認 05/25 23:08
fantasyj:為null的使用會是個問題... 05/25 23:08