[DATE_FORMAT関数]使用例

計算式の中でDATE_FORMAT関数を使うと、日付、日時、時刻を文字列として扱えるようになります。
DATE_FORMAT関数を使わず「"報告書作成日" & 日付」のようにフィールドコードを指定すると、「報告書作成日1575504000」という表記になり、日付として判別できません。
日時の形式を指定しないと、日付や時刻が、UNIX時刻と呼ばれる数値で表示されます。

DATE_FORMAT関数を使って「"報告書作成日" & DATE_FORMAT(日付, "MM月dd日", "Etc/GMT")」と書くことで、「報告書作成日12月05日」と日付が表示できるようになります。

設定例1:日付と文字列を結合して表示する

作業報告書アプリを例に、DATE_FORMAT関数と文字列を結合する方法を説明します。
完成イメージ:

  1. アプリの設定画面を開きます。
    アプリの設定画面を開く

  2. フォームの設定画面で、画面左側のパーツ一覧から日付フィールドと作成者フィールドを配置します。

  3. タイトルとして表示するための文字列(1行)フィールドを配置します。
    タイトルが1行で表示されるように、フィールドの横幅を長くします。

  4. 文字列(1行)フィールドの設定画面を開いて、フィールド名を「タイトル」に変更します。
    フィールドの設定画面は開いたままにします。

  5. 「自動計算する」にチェックを入れ、計算式を入力します。

    • 計算式:
      "報告書作成日" & " " & DATE_FORMAT(日付, "MM月dd日", "Etc/GMT") & " " & 作成者
  6. フィールドの設定画面の[保存]をクリックします。

  7. 画面左上の[フォームを保存]をクリックして、画面右上の[アプリを更新]をクリックします。

作業報告書アプリのレコードを登録するとき、DATE_FORMAT関数で指定した「報告書作成日」と、日付および作成者が結合されて表示されます。

「タイトル」フィールドをレコードのタイトルとして設定すると、通知の見出しとして表示されます。また、レコード一覧に表示することも可能です。 参考:レコードタイトルを設定する
参考:一覧を設定する

日報アプリなど、日付とユーザー名で情報を判別したい場合にも便利な使い方です。

設定例2:IF関数の中でDATE_FORMAT関数を使う

IF関数の条件式の中にDATE_FORMAT関数を指定できます。

計算式の例
IF(表示方法="日本式", DATE_FORMAT(日付, "yyyy/MM/dd", "Etc/GMT"), IF(表示方法="アメリカ式", DATE_FORMAT(日付, "MM/dd/yyyy", "Etc/GMT"), DATE_FORMAT(日付, "dd/MM/yyyy", "Etc/GMT")))

フィールドの選択で日本式を選ぶと日本の日付、アメリカ式を選ぶとUSの日付、イギリス式を選ぶとイギリスの日付が自動的に表示されます。
IF関数の詳細は[IF関数]条件によって表示する値を変えるのページを参照してください。

このページでは、議事録管理アプリにIF関数とDATE_FORMAT関数を組み合わせて、各国の日付を表示する方法を説明します。

完成イメージ:

  1. アプリの設定画面を開きます。
    アプリの設定画面を開く

  2. フォームの設定画面で、画面左側のパーツ一覧から日付フィールドを配置します。
    フィールドコードは初期値の「日付」のままにします。

  3. 画面左側のパーツ一覧から文字列(1行)フィールドとラジオボタンフィールドを配置します。

  4. ラジオボタンフィールドの設定画面を開き、フィールド名とフィールドコードを「表示方法」に変更します。
    選択肢の項目は「日本式」「アメリカ式」「イギリス式」の3つを設定します。

  5. ラジオボタンの設定画面の[保存]をクリックします。

  6. 文字列(1行)フィールドの設定画面を開き、フィールド名を「date」と入力します。

  7. 「自動計算する」にチェックを入れ、計算式を入力します。

    • 選択した国によって表示する日付を変える計算式
      IF(表示方法="日本式", DATE_FORMAT(日付, "yyyy/MM/dd", "Etc/GMT"), IF(表示方法="アメリカ式", DATE_FORMAT(日付, "MM/dd/yyyy", "Etc/GMT"), DATE_FORMAT(日付, "dd/MM/yyyy", "Etc/GMT")))
  8. 文字列(1行)の設定画面の[保存]をクリックします。

  9. 画面左上の[フォームを保存]をクリックして、画面右上の[アプリを更新]をクリックします。

表示方法で選択した日付形式が自動で表示されるようになりました。

TIPS:計算結果の日付や時刻がずれる場合

DATE_FORMAT関数の計算結果で日付や時刻がずれて表示される場合、タイムゾーンの指定が正しくないことが考えられます。
日付フィールド、または時刻フィールドのタイムゾーンは、協定世界時で固定です。これらのフィールドを計算式に使用する場合は、協定世界時のタイムゾーンID「Etc/GMT」を指定します。ほかのタイムゾーンを指定すると、計算結果が期待どおりになりません。

たとえば、タイムゾーンに「大阪、札幌、東京」(Asia/Tokyo)を設定すると、+9時間ずれて表示されます。

  • 誤ったタイムゾーンの計算式:
    DATE_FORMAT(フィールドA, "HH時mm分", "Asia/Tokyo")
    フィールドAの値が「9:00」の場合の計算結果:18時00分

協定世界時のタイムゾーンID「Etc/GMT」を指定することで、正しい時刻が表示されます。

  • 正しいタイムゾーンの計算式:
    DATE_FORMAT(フィールドA, "HH時mm分", "Etc/GMT")
    フィールドAの値が「9:00」の場合の計算結果:09時00分