MySQLでは、GET_FORMAT()
を使用できます 指定された引数のフォーマット文字列を返す関数。これは、DATE_FORMAT()
などの別の関数にフォーマット文字列を提供する必要がある場合に役立ちます。 またはSTR_TO_DATE()
。
構文
公式の構文は次のようになります:
GET_FORMAT({DATE|TIME|DATETIME}, {'EUR'|'USA'|'JIS'|'ISO'|'INTERNAL'})
例1-基本的な使用法
これがどのように機能するかを示す例です。
SELECT GET_FORMAT(DATE,'USA');
結果:
+------------------------+ | GET_FORMAT(DATE,'USA') | +------------------------+ | %m.%d.%Y | +------------------------+
したがって、この例では、USAのフォーマット文字列を返します。これで、そのフォーマット文字列を取得して、さまざまな日付フォーマット関数で使用できるようになりました。
このように:
SELECT DATE_FORMAT('2020-03-07', '%m.%d.%Y') AS 'Formatted';
結果:
+------------+ | Formatted | +------------+ | 03.07.2020 | +------------+
ただし、この関数をDATE_FORMAT()
に直接渡すこともできます。 働き。このように:
SELECT DATE_FORMAT('2020-03-07', GET_FORMAT(DATE,'USA')) AS 'Formatted';
結果:
+------------+ | Formatted | +------------+ | 03.07.2020 | +------------+
したがって、これにより、使用するフォーマット文字列(GET_FORMAT()
)を覚えておく必要がなくなります。 私たちのためにそれをします。
例2–日付値
この例では、最初の引数がDATE
の場合に、2番目の引数のすべてのバリエーションを一覧表示します。 。
SELECT GET_FORMAT(DATE,'USA') AS 'USA', GET_FORMAT(DATE,'JIS') AS 'JIS', GET_FORMAT(DATE,'ISO') AS 'ISO', GET_FORMAT(DATE,'EUR') AS 'EUR', GET_FORMAT(DATE,'INTERNAL') AS 'INTERNAL';
結果:
+----------+----------+----------+----------+----------+ | USA | JIS | ISO | EUR | INTERNAL | +----------+----------+----------+----------+----------+ | %m.%d.%Y | %Y-%m-%d | %Y-%m-%d | %d.%m.%Y | %Y%m%d | +----------+----------+----------+----------+----------+
例3–日時の値
この例では、最初の引数がDATETIME
の場合に、2番目の引数のすべてのバリエーションを一覧表示します。 。
SELECT GET_FORMAT(DATETIME,'USA') AS 'USA', GET_FORMAT(DATETIME,'JIS') AS 'JIS', GET_FORMAT(DATETIME,'ISO') AS 'ISO', GET_FORMAT(DATETIME,'EUR') AS 'EUR', GET_FORMAT(DATETIME,'INTERNAL') AS 'INTERNAL';
結果:
+-------------------+-------------------+-------------------+-------------------+--------------+ | USA | JIS | ISO | EUR | INTERNAL | +-------------------+-------------------+-------------------+-------------------+--------------+ | %Y-%m-%d %H.%i.%s | %Y-%m-%d %H:%i:%s | %Y-%m-%d %H:%i:%s | %Y-%m-%d %H.%i.%s | %Y%m%d%H%i%s | +-------------------+-------------------+-------------------+-------------------+--------------+
例4–時間値
この例では、最初の引数がTIME
の場合に、2番目の引数のすべてのバリエーションを一覧表示します。 。
SELECT GET_FORMAT(TIME,'USA') AS 'USA', GET_FORMAT(TIME,'JIS') AS 'JIS', GET_FORMAT(TIME,'ISO') AS 'ISO', GET_FORMAT(TIME,'EUR') AS 'EUR', GET_FORMAT(TIME,'INTERNAL') AS 'INTERNAL';
結果:
+-------------+----------+----------+----------+----------+ | USA | JIS | ISO | EUR | INTERNAL | +-------------+----------+----------+----------+----------+ | %h:%i:%s %p | %H:%i:%s | %H:%i:%s | %H.%i.%s | %H%i%s | +-------------+----------+----------+----------+----------+
ユニット指定子
返されるフォーマット文字列は、次の指定子の任意の組み合わせで構成できます。
指定子 | 説明 |
---|---|
%a | 省略された平日の名前(Sun ..Sat ) |
%b | 省略された月の名前(Jan .. Dec ) |
%c | 月、数値(0 .. 12 ) |
%D | 英語のサフィックスが付いた月の日(0th 、1st 、2nd 、3rd 、…) |
%d | 曜日、数値(00 .. 31 ) |
%e | 曜日、数値(0 .. 31 ) |
%f | マイクロ秒(000000 .. 999999 ) |
%H | 時間(00 .. 23 ) |
%h | 時間(01 .. 12 ) |
%I | 時間(01 .. 12 ) |
%i | 分、数値(00 .. 59 ) |
%j | 年の日(001 .. 366 ) |
%k | 時間(0 .. 23 ) |
%l | 時間(1 .. 12 ) |
%M | 月の名前(January ..December ) |
%m | 月、数値(00 .. 12 ) |
%p | AM またはPM |
%r | 時間、12時間(hh:mm:ss 続いてAM またはPM ) |
%S | 秒(00 .. 59 ) |
%s | 秒(00 .. 59 ) |
%T | 時間、24時間(hh:mm:ss ) |
%U | 週(00 .. 53 )、ここで日曜日は週の最初の日です。 WEEK() モード0 |
%u | 週(00 .. 53 )、ここで月曜日は週の最初の日です。 WEEK() モード1 |
%V | 週(01 .. 53 )、ここで日曜日は週の最初の日です。 WEEK() モード2; %X で使用 |
%v | 週(01 .. 53 )、ここで月曜日は週の最初の日です。 WEEK() モード3; %x で使用 |
%W | 平日の名前(Sunday ..Saturday ) |
%w | 曜日(0 =日曜日..6 =土曜日) |
%X | 日曜日が週の最初の日である週の年、数値、4桁。 %V で使用 |
%x | 週の年。月曜日は週の最初の日で、数値は4桁です。 %v で使用 |
%Y | 年、数値、4桁 |
%y | 年、数値(2桁) |
%% | リテラル% キャラクター |
% | x 、任意の「x 」は上記にリストされていません |