[DATE_FORMAT関数]計算式で日付や日時を表示する
計算式の中でDATE_FORMAT関数を使うと、日付、日時、時刻を文字列として扱えるようになります。
日時の形式やタイムゾーンを変更することも可能です。
日付や時刻をほかの文字列と結合する場合にも、DATE_FORMAT関数を使用します。
DATE_FORMAT(計算式, "日時の形式", "タイムゾーン") |
DATE_FORMAT関数の項目は、次のいずれかの書式で使用します。
関数の書式の項目
項目 | 説明 |
---|---|
計算式 |
計算式には、次のフィールドを使用できます。
フィールドは、フィールドコードで指定します。日時に時間を足し引きする場合、計算式には、時間を秒単位で指定します。たとえば、1時間は「3600」、または「60*60*1」のように指定します。1日であれば、「24*60*60*1」のように指定します。 計算式の結果が数値の場合、その数値はUNIX時刻として扱われます。UNIX時刻とは、1970年1月1日午前0時(協定世界時)からの経過秒数のことです。UNIXタイムスタンプとも呼ばれます。日時が2016年4月1日午前0時(協定世界時)の場合、UNIX時刻は「1459468800」です。 |
UNIX時刻 | 10,000,000,000未満のUNIX時刻を指定します。 |
日時の形式 | 変更後の日時の形式を指定します。 書式については、次の項目を参照してください。 日時形式の書式 |
タイムゾーン |
変更後のタイムゾーンのID、または「system」を指定します。「system」を指定すると、管理者が設定した標準のタイムゾーンが指定されます。 タイムゾーンごとのIDは、次のページを参照してください。 例)DATE_FORMAT(日時, "YYYY/MM/dd HH:mm ZZ", "America/Los_Angeles")を指定した場合:
|
日時形式の書式
日時の形式は、次の表の書式指定子を使用して指定します。それぞれの書式指定子は、対応する文字列に置き換わります。
書式指定子 | 説明 | 2020年4月1日正午を変換した場合の文字列 |
---|---|---|
YYYYまたはyyyy | 西暦の年に置き換わります。 | 2020 |
MMMM | レコードを編集したユーザーが設定している表示言語の月に置き換わります。 | 英語の場合:April 日本語の場合:4月 中国語の場合:四月 |
MMM | レコードを編集したユーザーが設定している表示言語の、短縮形の月に置き換わります。 | 英語の場合:Apr 日本語の場合:4 中国語の場合:四月 |
MM | ゼロ埋めありの月に置き換わります。 | 04 |
M | ゼロ埋めなしの月に置き換わります。 | 4 |
dd | ゼロ埋めありの日に置き換わります。 | 01 |
d | ゼロ埋めなしの日に置き換わります。 | 1 |
a | レコードを編集したユーザーが設定している表示言語の、「午前」または「午後」に置き換わります。 | 英語の場合:PM 日本語の場合:午後 中国語の場合:下午 |
KK | 午前を0時から11時とした、12時間表記の時表示に置き換わります。ゼロ埋めされます。 | 00 |
K | 午前を0時から11時とした、12時間表記の時表示に置き換わります。ゼロ埋めされません。 | 0 |
hh | 午前を1時から12時とした、12時間表記の時表示に置き換わります。ゼロ埋めされます。 | 12 |
h | 午前を1時から12時とした、12時間表記の時表示に置き換わります。ゼロ埋めされません。 | 12 |
HH | 1日を0時から23時とした、24時間表記の時表示に置き換わります。ゼロ埋めされます。 | 12 |
H | 1日を0時から23時とした、24時間表記の時表示に置き換わります。ゼロ埋めされません。 | 12 |
kk | 1日を1時から24時とした、24時間表記の時表示に置き換わります。ゼロ埋めされます。 | 12 |
k | 1日を1時から24時とした、24時間表記の時表示に置き換わります。ゼロ埋めされません。 | 12 |
mm | ゼロ埋めありの分表示に置き換わります。 | 00 |
m | ゼロ埋めなしの分表示に置き換わります。 | 0 |
ss | ゼロ埋めありの秒表示に置き換わります。 | 00 |
s | ゼロ埋めなしの秒表示に置き換わります。 | 0 |
Z | UTC(協定世界時)との時差に置き換わります。hhmmの形式です。 | +0900 |
ZZ | UTC(協定世界時)との時差に置き換わります。hh:mmの形式です。 | +09:00 |
ZZZ | タイムゾーンのIDに置き換わります。 | Asia/Tokyo |
計算式の例
DATE_FORMAT関数を使用した計算式の例を説明します。
計算式:DATE_FORMAT(フィールドA, "YYYY年M月d日", "Etc/GMT") フィールドAの形式を○○年○○月○○日に変えます。 フィールドAの値が「2020-04-01」の場合、計算結果は2020年4月1日になります。 |
計算式:DATE_FORMAT(フィールドA, "YYYY-MM-dd HH:mm", "America/Los_Angeles") フィールドAのタイムゾーンを太平洋標準時に変えます。 フィールドAの値が「2020-04-01 13:00」の場合、計算結果は2020-03-31 21:00になります。 |
計算式:フィールドA & "-" & DATE_FORMAT(作成日時, "YYYYMMdd", "system") フィールドAの文字列とレコード作成日時を結合します。 フィールドAの値が「田中 愛美」、レコードの作成日時が「2020-04-01 13:00」の場合、計算結果は「田中 愛美-20200401」になります。 |