Table of ContentsPreviousNext

Ispirer             Ispirer


Ispirer SQLWays データベース移行ソフトウェア

書式付き日時式を文字列に変換

このサブセクションでは様々なデータベースでの書式付き日時式を文字列に変換する関数およびSQLWaysによる変換について記述しています。

TABLE 55. 書式付き日時式を文字列に変換
データベース
構文
説明
Oracle
TO_CHAR(date [, fmt 
[, `nlsparam']]) 
DATE、TIMESTAMP、TIMESTAMP WITH TIME ZONE またはTIMESTAMP WITH LOCAL TIME ZONE データ型のdate日時値を日付書式fmt で指定された書式のVARCHAR2 データ型に変換します。
 
もし fmt が省略された場合、date は以下の様に VARCHAR2 データ型に変換されます
� DATE 値は、デフォルトの日付書式の値に変換されます
� TIMESTAMP およびTIMESTAMP WITH LOCAL TIME ZONE 値は、デフォルトのタイムスタンプ書式の値に変換されます。
� TIMESTAMP WITH TIME ZONE 値は、タイムゾーン書式のデフォルトのタイムスタンプの値に変換されます。
 
The 'nlsparams' は、月と日の名前および略称が戻される言語を指定します。この引数は、次の書式で指定します。
'NLS_DATE_LANGUAGE = language'
 
日付書式モデル (fmt) は以下に示す、一つまたはそれ以上の日付時刻書式要素で構成されます。
要素
説明
-
/
,
.
:
;
"text"
結果に取り込まれる句読点とテキスト
AD
A.D.
ピリオド付き/ なしで西暦を示します
AM
A.M.
ピリオド付き/ なしで午前を示します
 
 
BC
B.C.
ピリオド付き/ なしで紀元前を示します
CC
SCC
4 桁で表した年の先頭2桁に1加えた値。S を指定すると紀元前の日付の先頭に負の符号(-)が付けられます。
例えば、 '1900' から '20'が返される
D
曜日(1 - 7)
DAY
曜日。9文字の長さに空白充填
DD
月における日(1 - 31)
DDD
年における日(0 - 366)
DY
曜日の省略形
FF [1..9]
小数部。基数は出力されません(基数文字の追加には X 書式要素を使用します)。戻される日時の値の小数部の桁数を指定するには、FF の後に、1 ~ 9 の数字を使用します。
HH
時間(1 - 12)
HH24
時間(0 - 23)
IW
ISO 規格に基づく、年における週(1 ~ 52 または1 ~ 53)
IYY
IY
I
それぞれISO年の下3桁、2桁、1桁
IYYY
ISO 規格に基づく4 桁の年
J
ユリウス日。紀元前4712 年1 月1 日から経過した日数
MI
分 (0 - 59)
MM
月 (01 - 12; Jan - 01)
MON
月の名前の省略形
 
 
MONTH
月の名前。9文字の長さに空白充填
Q
年の四半期 (1, 2, 3, 4; 1月~3月 = 1)
RM
ローマ数字で表した月(I ~ XII。1 月=I)
RR
2桁のみを使用し21世紀に20世紀の日付を格納できます
� もし、年が <50 かつ 今の年の最後の2桁が >=50 ならば、今の年の最初の2桁より1大きな値が返されます
� もし、年が >=50 かつ 今の年の最後の2桁が <50 ならば、今の年の最初の2桁より1小さな値が返されます
 
RRRR
年を丸めます。4 桁または2 桁で入力できます。2 桁の場合、RR の場合と同様の結果が返されます。年を4 桁で入力すると、この処理は行われません。
SS
秒 (0 - 59)
SSSSS
午前0 時から経過した秒(0 ~ 86399)
 
 
TZD
夏時間の情報。TZD の値は、夏時間の情報を持つタイムゾーン文字列の省略形です。 TZR で指定した地域と対応している必要があります。
TZH
タイムゾーンの時間
TZM
タイムゾーンの分
TZR
タイムゾーンの地域の情報
WW
年における週(1 ~ 53)。第1 週はその年の1 月1 日で始まり、1 月7 日で終了します
W
月における週(1 ~ 5)。第1 週はその月の1 日で始まり、7 日で終了します。
X
ローカル基数文字
Y
YYY
指定した位置にカンマを付けた年
YYYY
SYYYY
4 桁で表した年。S を指定すると紀元前の日付の先頭に負の符号(-)が付けられます
YEAR
SYEAR
フルスペルで表した年。S を指定すると紀元前の日付の先頭に負の符号(-)が付けられます
YYY
YY
Y
それぞれ年の下3 桁、2 桁、1 桁
これらの文字は書式モデルで記述した同じ位置に返却値が設定されます。
日付書式モデルの合計の長さは22文字を超えてはなりません。文字リテラルは二重引用文字にて囲みます。
IBM DB2
8
VARCHAR_FORMAT 
(timestamp_exp, 
fmt_str) 
timestamp_expfmt-stringで指定された書式で文字列に変換します
 
timestamp-exp - はタイムスタンプが返される式です。引数はタイムスタンプかCLOBやLONG VARCHARデータ型以外によるタイムスタンプの文字列表現です。文字列表現は254文字を超えないCHARまたはVARCHARデータ型の値をかえします。
fmt-string - は結果の書式を示す文字定数です。書式文字列の長さは254文字を超えてはなりません。書式文字列の内容は大文字で指定されます。
書式文字列は以下のとおり
'YYYY-MM-DD HH24:MI:SS'
YYYYは4桁の年を示します。MMは2桁の月(01-12、1月=01)。DDは2桁の日(01-31)を示します。HH24は2桁の時刻(00-24、もし時刻が24の場合、分および秒の値はゼロです)。MIは2桁の分(00-59)を示します。SSは2桁の秒(00-59)を示します。
 
関数の結果は、書式設定済みのタイムスタンプ表現が含まれる可変長の文字列です。
 
timestamp-exp から一部分 (例えば秒、分など)を選択したい場合、それぞれ SECOND、MINUTE などの関数を使います。例えば、もしtimestamp-expから秒の部分を抽出する必要がある場合、SECOND 関数を使用しなければなりません。
 
 
TO_CHAR 
(timestamp_exp, 
fmt_str)  
文字テンプレートでフォーマットされたタイムスタンプの文字表現を返します。
TO_CHAR は VARCHAR_FORMAT のシノニムです
 
<8
CHAR ( datetime_exp 
   [, ISO | USA | EUR | 
JIS | LOCAL] ) 
DATE, TIME および TIMESTAMP データタイプのdatetime_exp を文字列に変換します。もしdatetime_exp がヌルならば、結果もヌル値となります。
 
もし datetime-exp が以下の式の場合
� DATE データ型であれば、結果の長さは10です
� TIME データ型であれば、結果の長さは8です
� TIMESTAMP データ型であれば、結果の長さは26です
A datetime_exp 書式モデルはMINUTE、SECOND などの関数を使用して構成することができます
MINUTE関数の結果とSECOND関数の結果を連結するには、それらの関数の戻り値である整数を文字列に変換する必要があります。 IBM DB2 での "||" は2つの文字列のみを連結できます。例えば、この連結の例は以下の通りです: CHAR( MINUTE( CURRENT TIMESTAMP)) || CHAR( SECOND( CURRENT TIMESTAMP)).
MySQL
DATE_FORMAT 
(date, fmt_str) 
date を日付書式 fmt_strで指定された書式にて文字列へ変換します
 
Formats the date の値を書式文字列 (fmt_str)に従いフォーマットします。 以下の指定子が書式文字列で使用されます。
指定子
説明
%a
曜日の省略形 (Sun..Sat)
%b
月の省略形 (Jan..Dec)
%D
英語の接尾辞付きの月の日付 (0th, 1st, 2nd, 3rd, など
%d
%e
月における日、数値 (00..31)
%j
年における日 (001..366)
%m
%c
月、数値 (00..12)
%M
月の名前(January..December)
%f
ミリ秒 (000000..999999)
%i
分、数値 (00..59)
%h
%I
%l
時刻 (01..12)
%H
%k
時刻 (00..23)
%p
午前 または 午後
%r
時間、12時間制(hh:mm:ss 後ろに AM または PM)
%S
%s
秒 (00..59)
%T
時間、24時間制 (hh:mm:ss)
%U
年における週 (00..53)、週始まりは日曜
%u
年における週 (00..53)、週始まりは月曜
 
 
 
 
 
 
%V
年における週 (01..53)、週始まりは日曜、%Xと共に使用される
%v
年における週 (01..53)、週始まりは月曜、 %xと共に使用
%W
曜日の名前 (Sunday..Saturday)
%w
曜日 (0=Sunday .. 6=Saturday)
%X
年における週、週始まりは日曜、4桁数値、%V と共に使用
%x
年における週、週始まりは月曜、4桁数値、 %v と共に使用
%Y
年、4桁数値
%y
年、2桁数値
%%
リテラル `%'


Table of ContentsPreviousNext
Ispirer             Ispirer
Copyright © 1999-2015 Ispirer Systems Ltd. Ispirer and SQLWays are trademarks of Ispirer Systems Ltd. All other product names may be trademarks of the respective companies. All rights reserved.