Oracle SQL 関数 : CAST : データ型の変換
Ret := CAST( <expr> AS <データ型> );
CASTは<expr>で指定されたデータを<データ型>で指定されたデータ型に変換します。
以下に例を示します。
最初のSQL文はNUMERIC型からCHAR,VARCHAR2型への変換ですが、CHAR型の場合は指定桁分の結果が返されるので、固定桁の表示がほしいときには利用できます。
次のSQL文はDATE型からCHAR,VARCHAR2型への変換と、CHAR型からDATE型への変換です。
'CHAR_TO_DATE'の結果はDATE型そのもを表示しても面白くないので、TO_CHAR関数で再びCHAR型へ書式付で変換しています。時刻がクリアされて変換されるところが注意するところです。
SQL> SELECT 1 AS NUM_TEST |
2 , '#' || CAST (1 AS CHAR (10)) || '#' AS NUM_TO_CHAR |
3 , '#' || CAST (1 AS VARCHAR2(10)) || '#' AS NUM_TO_VARCHAR2 FROM DUAL; |
NUM_TEST NUM_TO_CHAR NUM_TO_VARCH |
SQL> SELECT '#' || CAST (SYSDATE AS CHAR (20)) || '#' AS DATE_TO_CHAR |
2 , '#' || CAST (SYSDATE AS VARCHAR2(20)) || '#' AS DATE_TO_VARCHAR2 |
3 ,TO_CHAR( CAST ( '2005/01/22' AS DATE ), 'YYYY/MM/DD HH24:MI:SS' ) AS CHAR_TO_DATE FROM DUAL; |
DATE_TO_CHAR DATE_TO_VARCHAR2 CHAR_TO_DATE |
#05-03-07 # #05-03-07# 2005/01/22 00:00:00 |
本書用のWebアプリを使ってSQLを実行し学習していきます。初心者の方に分かりやすく、図表を多く使って解説されています。 学習の最後には200問越えのドリルが付いていてSQLのスキルが試せる様になっています。