暗黙的なデータ変換
暗黙的なデータ変換とは、データ型の変換が意味を持つ場合に、Oracle Databaseが自動的に行う変換。
意味を持たない変換の場合にはエラーとなる。
ただし、暗黙的なデータ変換には様々な問題があるため、常に明示的に変換する事が推奨される。
以下のような場合に変換が行われる。
数値を指定すべきところに文字列が指定された場合
文字列を数値に変換
日付が指定された場合
デフォルトの日付表示書式にしたがい日付値に変換
文字列を指定すべきところに数値が指定された場合
数値を文字列に変換
文字列を指定すべきところに日付値が指定された場合
日付値を文字列に変換
明示的なデータ変換
明示的なデータ変換とは、変換関数を使用して行うデータ変換のこと。
Oracle Databaseにはさまざまな変換関数が用意されているが、数値を日付値に変換したり、日付値を数値に変換する関数は存在しない。
以下は主な変換関数。
変換関数 | 説明 |
---|---|
TO_CHAR | 数値や日付値を文字列に変換 |
TO_NUMBER | 文字列を数値に変換 |
TO_DATE | 文字列を日付値に変換 |
・CHARからNUMBERへの変換はTO_NUMBER
・CHARからDATEへの変換はTO_DATE
・NUMBERからCHARへの変換はTO_CHAR
・DATEからCHARへの変換はTO_CHAR
※NUMBERからDATE、DATEからNUMBERへの変換は不可