【Db2・Oracle】TO_CHAR 日時や数値から文字列に変換する話
TO_CHAR 日付型や数値型を文字列に変換するSQL関数
日付変換の実用例です
SELECT TO_CHAR(SYSDATE, 'YYYYMMDD’) FROM DUAL
結果:20191206 ← 年月日(文字列)
SELECT TO_CHAR(SYSDATE, 'YYYYMMDDHH24MISS’) FROM DUAL
結果:20191206212208 ← 年月日時分秒(文字列)
SELECT TO_CHAR(SYSDATE, 'YYYY"年"MM"月"DD"日"') FROM DUAL
結果:2019年12月06日
※年と月と日の様に、日本語を指定する場合はダブルクォーテーションで括ります
数値変換の実用例です
SELECT TO_CHAR(123, '0000’) FROM DUAL
結果: 0123 ← 先頭0埋め(文字列)
※先頭に半角スペース(符号分)が入ります
SELECT TO_CHAR(-123, '0000’) FROM DUAL
結果:-0123 ← 先頭0埋め(文字列)
※マイナス符号が表示される為、先頭に半角スペースは入りません
SELECT TO_CHAR(123, 'FM0000’) FROM DUAL
結果:0123 ← 先頭0埋め(文字列)
※FMを指定している為、先頭に半角スペース(符号分)が入りません
他にもTO_CHARの引数はありますが、上記の例が実務でよく使用するものです。
例では、日付に「SYSDATE」、数値に「123」・「-123」を指定しましたが、もちろんテーブルの項目を記述できます。