下記がとても分かりやすい。
やっぱ表だよ。
getXXXメソッドで取得したデータがNULLかどうかを判断するためには、データ取得後にwasNullメソッドを使用する必要があります。これはデータの型によりNULLの値がNULL、0、またはfalseに変換されるためです。以下に各getXXXメソッドで返されるNULLの値について説明します。
メソッド名 |
返却値 |
---|---|
getString |
NULL |
getBigDecimal |
|
getBytes |
|
getDate |
|
getTime |
|
getTimestamp |
|
getBinaryStream |
|
getByte |
0 |
getShort |
|
getInt |
|
getLong |
|
getFloat |
|
getDouble |
|
getBoolean |
false |
引用ここまで
SQL NULLデータの変換について
Javaは、SQL NULL
データを、Javaの値null
で表現します。Javaデータ型は、プリミティブ型(byte
、int
、float
など)とオブジェクト型(クラス・インスタンスなど)の2つのカテゴリに分類されます。プリミティブ型でNULL
を表すことはできません。かわりに、JDBC仕様で定義されているように、null
を0(ゼロ)値として格納します。これは、結果の解釈時にあいまいさが生じる原因ともなります。
引用ここまで
oracleのNULLは、javaのString型ではnullになる。
int型では0になる。
おんなじこと言ってる。
カラムのデータ型によるのだろうか。
調べてるときに知ったのが、
oracleは '' もNULLも一括してNULL扱いなんだそうで、
比較するときとか注意しないとね。