Oracle_JDBC_NULL値のデータ型

OracleJDBC の場合のNULL

下記がとても分かりやすい。

やっぱ表だよ。

 

software.fujitsu.com

 

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

 

引用ここまで

 

docs.oracle.com

SQL NULLデータの変換について

Javaは、SQL NULLデータを、Javaの値nullで表現します。Javaデータ型は、プリミティブ型(byteintfloatなど)とオブジェクト型(クラス・インスタンスなど)の2つのカテゴリに分類されます。プリミティブ型でNULLを表すことはできません。かわりに、JDBC仕様で定義されているように、nullを0(ゼロ)値として格納します。これは、結果の解釈時にあいまいさが生じる原因ともなります。

 

引用ここまで

oracleのNULLは、javaのString型ではnullになる。

int型では0になる。

おんなじこと言ってる。

 

JDBCOracleの変換がよくわからん。

カラムのデータ型によるのだろうか。

 

調べてるときに知ったのが、

oracleは '' もNULLも一括してNULL扱いなんだそうで、

比較するときとか注意しないとね。