SQLite の日付と時刻の関数
日付の形式をカスタマイズする
日付と時刻は、月、日、年、時、分などの個々の要素に分割できるため、チャート内に必要な情報のみが表示されるように、日付や時刻の値をフォーマットできます。
形式の代入
代入を使用して形式文字列を作成します。これをカスタム数式の形式設定関数に含めます。カスタム式の詳細をご確認ください。
クエリで代入を使用する場合は、そのデータ ソース タイプの SQL 構文のドキュメントをチェックして、正しい代入を使用していることをご確認ください。
特に一般的な代入には次のようなものがあります。
代入 | 日付または時刻の要素 | 出力の例 |
---|---|---|
| 月の日付 | 01、02、…、31 (最大 31 日) |
| 小数秒 | 11.111 |
| 時間 | 00 から 24 (24 時間) までの数を返します。 |
| 年間通算日 | 01、02、…、366 (うるう年の場合は 366) |
| ユリウス通日 | 2459290.5 (2021 年 3 月 17 日) ユリウス周期の最初からの連続日数です。 |
| 月 | 01、02、...、12 01 は 1 月、12 は 12 月です。 |
| 分 | 00、01、…、59 (60 分) |
| 秒 | 1615939200 (2021 年 3 月 17 日) 日時の値を 1970 年 1 月 1 日からの秒に変換します。 |
| 秒 | 00、01、…、59 (60 秒) |
| 曜日 | 0、1、... 6 0 は日曜日で、6 は土曜日です。 |
| 年間の週番号 | 00、01、…、53 (ISO 週) |
| 年 | 0000、0001、…、9999 |
STRFTIME() を使用して日時値をフォーマットする
前述の代入を使用し、STRFTIME()
SQLite 関数を使って日時をフォーマットできます。関数は次のフォーマットに従います。
STRFTIME('format',"date/time column name")
format
を代入の形式文字列と置き換え、date/time column name
をフォーマットする日時列の名前に置き換えます。
たとえば、Second of Created At という名前の列に、必要以上に細かい情報 (時間、分、秒などの時間情報が入っているなど) が含まれている場合は、次の数式を使用して、年、月、日のみを希望の順序で含めるように修正できます。
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()
関数には次の構文を使用します。
DATE("Column Name",'modifier','modifier',…)
modifier
を +interval unit
または -interval unit
のいずれかと置き換えて、日時から単位の間隔をそれぞれ加算または減算します。たとえば、+1 month
などです。修飾子はオプションで、関数では複数の修飾子を使用できます。
この例で、[Day of Created At] という名前の列に、現在までの 1 か月と 2 日の値を追加します。
DATE("Day of Created At",'+1 months','+2 days')
組み込みの日付と時刻の関数
カスタム数式には複数の関数が組み込まれ、日付と時刻の変更に使用できます。例として次のような関数があります。
DATEADD(date_string, amount, 'unit')
日付または日時に時間間隔を加算します。
DATESUB(date_string, amount, 'unit')
日付または日時から時間間隔を減算します。
DATEDIFF(date_string1, date_string2, 'unit')
2 つの日付または日時の差を指定された単位で計算します。
DATEPART(date_string, 'unit')
日付文字列の一部を抽出します。
上記の組み込み関数には、次の単位のいずれかを使用します。
日
週 (
DATEDIFF()
のみ)月
年
時間
分
second
この内容はお役に立ちましたか?