Table of ContentsPreviousNext

Ispirer             Ispirer


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

書式付きOracle TO_CHAR(datetime) を MySQLに変換

オラクルの TO_CHAR(datetime, fmt) 関数は日付時刻の値を fmt オプションで指定された書式で文字列に変換します。

MySQLには DATE_FORMAT関数があり、指定された書式で日付時刻の値を文字列に変換することができます。

SQLWays はオラクルの TO_CHAR 関数を MySQLの DATE_FORMAT 関数に変換し、以下の様に書式文字列の要素をOracleのものから対応するMySQLのものに変換します。

TABLE 56. 書式付きOracle TO_CHAR(datetime) を MySQLに変換
MySQLとOracleの間での日付時刻書式指定子のマッピング
MySQL
Oracle (independently from register)
説明
%a
DY
曜日の省略形 (Sun..Sat)
%b
MON
月の名前の省略形 (Jan..Dec)
%D
-
英語の接尾辞付きの月の日付 (0th, 1st, 2nd, 3rd, など
%d
%e
DD
 
月における日、数値 ((00..31) および (0..31))
%j
DDD
年における日 (001..366)
%m
%c
MM
月、数値 ((00..12) および (0..12))
%M
MONTH
月の名前 (January..December)
%f
-
ミリ秒 (000000..999999)
%i
MI
分、数値 (00..59)
%h
%I
%l
HH
HH12
時刻 ((01..12) および (1..12))
%H
%k
HH24
時刻 ((00..23) および (0..23))
%p
AM
PM
午前 または 午後
%r
-
時間、12時間制 (hh:mm:ss 後に AM または PM)
%S
%s
SS
秒 ((00..59) および (0..59))
%T
-
時間、24時間制 (hh:mm:ss)
%u
WW
IW
週 (00..53)、週始まりは月曜
%U
-
週 (00..53)、週始まりは日曜
%V
-
週 (01..53)、週始まりは日曜、%X と共に使用
%v
WW
IW
週 (01..53)、週始まりは月曜、%x と共に使用
%W
DAY
曜日の名前 (Sunday..Saturday)
%w
-
曜日 (0=Sunday .. 6=Saturday)
%X
-
年における週、週始まりは日曜、4桁数字、%V と共に使用
%x
-
年における週、週始まりは月曜、4桁数字、%v と共に使用
%Y
YYYY
SYYYY
IYYY
年、数値、4桁
%y
YY
IYY
年、数値、2桁
-
J
ユリウス日。紀元前4712 年1 月1 日から経過した日数
-
Q
年の四半期 (1, 2, 3, 4、 1月~3月 = 1)
-
RR
2桁のみを使用し21世紀に20世紀の日付を格納できます
� もし、年が <50 かつ 今の年の最後の2桁が >=50 ならば、今の年の最初の2桁より1大きな値が返されます
� もし、年が >=50 かつ 今の年の最後の2桁が <50 ならば、今の年の最初の2桁より1小さな値が返されます
-
RRRR
年を丸めます。4 桁または2 桁で入力できます。2 桁の場合、RR の場合と同様の結果が返されます。年を4 桁で入力すると、この処理は行われません。
-
W
月における週(1 ~ 5)。第1 週はその月の1 日で始まり、7 日で終了します。
-
SSSSS
真夜中からの経過秒 (0 - 86399)
-
X
ローカル基数文字
-
Y,YYY
指定した位置にカンマを付けた年
-
YEAR
SYEAR
フルスペルで表した年。S を指定すると紀元前の日付の先頭に負の符号(-)が付けられます
-
YYY
3桁の年
-
Y
1桁の年
-
IY
ISO規格に基づく2桁の年
-
I
ISO規格に基づく1桁の年
-
AD
A.D.
ピリオド付き/ なしで西暦を示します
-
BC
B.C.
ピリオド付き/ なしで紀元前を示します
-
CC
SCC
4 桁で表した年の先頭2桁に1加えた値。S を指定すると紀元前の日付の先頭に負の符号(-)が付けられます。
例えば、'1900' は '20' に変換
-
D
週における日 (1 - 7).
-
A.M.
P.M.
ピリオド付きの午前午後表示
-
TZH
タイムゾーンの時間
-
TZM
タイムゾーンの分
-
TZR
タイムゾーンの地域の情報
-
RM
 

TABLE 57. 変換の例
Oracle
MySQL
create procedure sp_to_char_date_format
as
begin
-- GET ACTUAL TIME AND DATE
select to_char(sysdate,'DD-MON-YYYY:HH24:MI') from 
dual;
end; 
create procedure sp_to_char_date_format()
begin
-- GET ACTUAL TIME AND DATE
select  DATE_FORMAT(CURRENT_TIMESTAMP, '%e-%M-
%Y:%H:%i')  from dual;
end; 


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.