exTANAl Storage@Wiki
DB
最終更新:
tana_tana112
-
view
OracleのNULL値
NULLとは状態であって値ではない。
そのため、比較文『a = NULL』は"FALSE"ではなくて"UNKNOWN"。
また、『NULL = NULL』も同様に"UNKNOWN"となる。
そのため、比較文『a = NULL』は"FALSE"ではなくて"UNKNOWN"。
また、『NULL = NULL』も同様に"UNKNOWN"となる。
二つの値を比較したいが、NULLが入力されている可能性がある場合は
WHERE DECODE(A, B, "TRUE", "FALSE") = "TRUE"
みたいにするとシンプル。
ちなみにORACLEは空文字とNULLの区別がつかない点も注意。
いやORACLE Silver持ちなら常識なんだろーけど、衝撃だったわ。
いやORACLE Silver持ちなら常識なんだろーけど、衝撃だったわ。
OerderByでNULL値を最後にする
Select * From Tbl
Order By
Case
When Clm1 Is Null Then '1'
Else '0'
End,
Clm2
参考
SQLのCASE文ってほとんど使った事ないや(´ω`)
SQLのCASE文ってほとんど使った事ないや(´ω`)