目次

Search

  1. はじめに
  2. トランスフォーメーション言語
  3. 定数
  4. 演算子
  5. 変数
  6. 日付
  7. 関数
  8. カスタム関数の作成
  9. カスタム関数APIリファレンス

トランスフォーメーション言語リファレンス

トランスフォーメーション言語リファレンス

TO_CHAR (Dates)

TO_CHAR (Dates)

日付を文字列に変換します。TO_CHARは、数値を文字列に変換することもできます。TO_CHARフォーマット文字列を使用して、日付を任意の形式に変換できます。
TO_CHAR (date [,format])は、date、Timestamp、Timestamp with Time Zone、Timestamp with Local Time Zoneの各データ型または内部値を、フォーマット文字列で指定されたStringデータ型の値に変換します。

構文

TO_CHAR(
date
[,
format
] )
以下の表に、このコマンドの引数を示します。
引数
必須/
オプション
説明
日付
必須
Date/Timeデータ型。文字列に変換したい日付値を渡します。有効なトランスフォーメーション式を必要に応じて入力できます。
形式
オプション
正しいTO_CHARフォーマット文字列を入力します。このフォーマット文字列は戻り値の形式を定義するものであり、date引数の値の形式を定義するものではありません。フォーマット文字列を省略すると、セッションに指定されている日付形式で文字列が返されます。

戻り値

文字列。
関数にNULL値を渡した場合はNULLです。

次の式は、DATE_PROMISEDポート内の日付をMON DD YYYY:形式の文字列に変換します。
TO_CHAR( DATE_PROMISED, 'MON DD YYYY' )
DATE_PROMISED
RETURN VALUE
Apr 1 1998 12:00:10AM
'Apr 01 1998'
Feb 22 1998 01:31:10PM
'Feb 22 1998'
Oct 24 1998 02:12:30PM
'Oct 24 1998'
NULL
NULL
format
引数を省略すると、TO_CHARはデフォルトではセッションに指定されている日付形式であるMM/DD/YYYY HH24:MI:SS.USで文字列を返します。
TO_CHAR( DATE_PROMISED )
DATE_PROMISED
RETURN VALUE
Apr 1 1998 12:00:10AM
'04/01/1998 00:00:10.000000'
Feb 22 1998 01:31:10PM
'02/22/1998 13:31:10.000000'
Oct 24 1998 02:12:30PM
'10/24/1998 14:12:30.000000'
NULL
NULL
次の式は、ポート内の各日付の曜日を返します。
TO_CHAR( DATE_PROMISED, 'D' )
DATE_PROMISED
RETURN VALUE
04-01-1997 12:00:10AM
'3'
02-22-1997 01:31:10PM
'7'
10-24-1997 02:12:30PM
'6'
NULL
NULL
TO_CHAR( DATE_PROMISED, 'DAY' )
DATE_PROMISED
RETURN VALUE
04-01-1997 12:00:10AM
'Tuesday'
02-22-1997 01:31:10PM
'Saturday'
10-24-1997 02:12:30PM
'Friday'
NULL
NULL
次の式は、ポート内の各日付の日の部分を返します。
TO_CHAR( DATE_PROMISED, 'DD' )
DATE_PROMISED
RETURN VALUE
04-01-1997 12:00:10AM
'01'
02-22-1997 01:31:10PM
'22'
10-24-1997 02:12:30PM
'24'
NULL
NULL
次の式は、ポート内の各日付に対して、その年の通算何日目になるかを返します。
TO_CHAR( DATE_PROMISED, 'DDD' )
DATE_PROMISED
RETURN VALUE
04-01-1997 12:00:10AM
'091'
02-22-1997 01:31:10PM
'053'
10-24-1997 02:12:30PM
'297'
NULL
NULL
次の式は、ポート内の各日付の時の部分を返します。
TO_CHAR( DATE_PROMISED, 'HH' ) TO_CHAR( DATE_PROMISED, 'HH12' )
DATE_PROMISED
RETURN VALUE
04-01-1997 12:00:10AM
'12'
02-22-1997 01:31:10PM
'01'
10-24-1997 02:12:30PM
'02'
NULL
NULL
TO_CHAR( DATE_PROMISED, 'HH24' )
DATE_PROMISED
RETURN VALUE
04-01-1997 12:00:10AM
'00'
02-22-1997 01:31:10PM
'13'
10-24-1997 11:12:30PM
'23'
NULL
NULL
次の式は、日付値を文字列で表されたMJD値に変換します。
TO_CHAR( SHIP_DATE, 'J')
SHIP_DATE
RETURN_VALUE
Dec 31 1999 03:59:59PM
2451544
Jan 1 1900 01:02:03AM
2415021
次の式は、日付をMM/DD/YY形式の文字列に変換します。
TO_CHAR( SHIP_DATE, 'MM/DD/RR')
SHIP_DATE
RETURN_VALUE
12/31/1999 01:02:03AM
12/31/99
09/15/1996 03:59:59PM
09/15/96
05/17/2003 12:13:14AM
05/17/03
SSSSSフォーマット文字列をTO_CHAR式で使用することもできます。たとえば、次の式はSHIP_DATEポートの日付を深夜0時からの通算秒を示す文字列に変換します。
TO_CHAR( SHIP_DATE, 'SSSSS')
SHIP_DATE
RETURN_VALUE
12/31/1999 01:02:03AM
3783
09/15/1996 03:59:59PM
86399
TO_CHAR式では、YYフォーマット文字列はRRフォーマット文字列と同じ結果を返します。
次の式は、日付をMM/DD/YY形式の文字列に変換します。
TO_CHAR( SHIP_DATE, 'MM/DD/YY')
SHIP_DATE
RETURN_VALUE
12/31/1999 01:02:03AM
12/31/99
09/15/1996 03:59:59PM
09/15/96
05/17/2003 12:13:14AM
05/17/03
次の式は、ポート内の各日付に対して、その月の何週目であるかを返します。
TO_CHAR( DATE_PROMISED, 'W' )
DATE_PROMISED
RETURN VALUE
04-01-1997 12:00:10AM
'01'
02-22-1997 01:31:10AM
'04'
10-24-1997 02:12:30PM
'04'
NULL
NULL
次の式は、ポート内の各日付に対して、その年の何週目であるかを返します。
TO_CHAR( DATE_PROMISED, 'WW' )
DATE_PROMISED
RETURN VALUE
04-01-1997 12:00:10PM
'18'
02-22-1997 01:31:10AM
'08'
10-24-1997 02:12:30AM
'43'
NULL
NULL

ヒント

TO_CHARとTO_DATEを組み合わせて次のような関数を記述すれば、月の数値を対応する月の文字列に変換することができます。
TO_CHAR( TO_DATE( numeric_month, 'MM' ), 'MONTH' )