• 製品
  • 関連ドキュメント
  • リソース

SQLite の日付と時刻の関数

日付の形式をカスタマイズする

日付と時刻は、月、日、年、時、分などの個々の要素に分割できるため、チャート内に必要な情報のみが表示されるように、日付や時刻の値をフォーマットできます。

形式の代入

代入を使用して形式文字列を作成します。これをカスタム数式の形式設定関数に含めます。カスタム式の詳細をご確認ください。

クエリで代入を使用する場合は、そのデータ ソース タイプの SQL 構文のドキュメントをチェックして、正しい代入を使用していることをご確認ください。

特に一般的な代入には次のようなものがあります。

代入

日付または時刻の要素

出力の例

%d

月の日付

01、02、…、31 (最大 31 日)

%f

小数秒

11.111

%H

時間

00 から 24 (24 時間) までの数を返します。

%j

年間通算日

01、02、…、366 (うるう年の場合は 366)

%J

ユリウス通日

2459290.5 (2021 年 3 月 17 日)

ユリウス周期の最初からの連続日数です。

%m

01、02、...、12

01 は 1 月、12 は 12 月です。

%M

00、01、…、59 (60 分)

%s

1615939200 (2021 年 3 月 17 日)

日時の値を 1970 年 1 月 1 日からの秒に変換します。

%S

00、01、…、59 (60 秒)

%w

曜日

0、1、... 6

0 は日曜日で、6 は土曜日です。

%W

年間の週番号

00、01、…、53 (ISO 週)

%Y

0000、0001、…、9999

STRFTIME() を使用して日時値をフォーマットする

前述の代入を使用し、STRFTIME() SQLite 関数を使って日時をフォーマットできます。関数は次のフォーマットに従います。

1 STRFTIME('format',"date/time column name")

format を代入の形式文字列と置き換え、date/time column name をフォーマットする日時列の名前に置き換えます。

たとえば、Second of Created At という名前の列に、必要以上に細かい情報 (時間、分、秒などの時間情報が入っているなど) が含まれている場合は、次の数式を使用して、年、月、日のみを希望の順序で含めるように修正できます。

1 STRFTIME('%Y-%m-%d',"Second of Created At")

日付や日時など、特に一般的なバリエーションでは、列全体に形式を適用する関数を使用できます。

  • DATE() 関数に相当する形式は STRFTIME(‘%Y-%m-%d’,…) です。

  • TIME() 関数に相当する形式は STRFTIME(‘%H:%M:%S’,…) です。

  • DATETIME() 関数に相当する形式は STRFTIME(‘%Y-%m-%d’,…) です。

  • JULIANDAY() 関数に相当する形式は STRFTIME(‘%J’,…) です。

日付と時刻の関数の修飾子

日付と時刻には修飾子を使用し、それを使って計算します。これらは DATE()TIME()DATETIME()JULIANDAY() のいずれかの関数で使用します。また、こうした関数の一部として、日、時、分、秒、月、年の単位の整数を加算または減算することもできます。

たとえば、DATE() 関数には次の構文を使用します。

1 DATE("Column Name",'modifier','modifier',…)

modifier+interval unit または -interval unit のいずれかと置き換えて、日時から単位の間隔をそれぞれ加算または減算します。たとえば、+1 month などです。修飾子はオプションで、関数では複数の修飾子を使用できます。

この例で、[Day of Created At] という名前の列に、現在までの 1 か月と 2 日の値を追加します。

1 DATE("Day of Created At",'+1 months','+2 days')
カスタム数式を使用して、列に現在までの 1 か月と 2 日の値を追加しています。

組み込みの日付と時刻の関数

カスタム数式には複数の関数が組み込まれ、日付と時刻の変更に使用できます。例として次のような関数があります。

DATEADD(date_string, amount, 'unit')

日付または日時に時間間隔を加算します。

DATESUB(date_string, amount, 'unit')

日付または日時から時間間隔を減算します。

DATEDIFF(date_string1, date_string2, 'unit')

2 つの日付または日時の差を指定された単位で計算します。

DATEPART(date_string, 'unit')

日付文字列の一部を抽出します。


上記の組み込み関数には、次の単位のいずれかを使用します。

  • 週 (DATEDIFF() のみ)

  • 時間

  • second

その他のヘルプ