重要
このページは英語版のページを機械翻訳しています。原文はこちらからご覧ください。

日付と時刻の関数

TiDBは、 MySQL 5.7で利用可能な日付と時刻の関数すべてをサポートします。

ノート:

  • MySQLは、誤ってフォーマットされた日付と時刻の値を受け入れることがよくあります。たとえば、 '2020-01-01\n\t01:01:01''2020-01_01\n\t01:01'は有効な日付と時刻の値として扱われます。
  • TiDBは、MySQLの動作と一致するように最善を尽くしますが、すべてのインスタンスで一致するとは限りません。誤ってフォーマットされた値の意図された動作は文書化されておらず、一貫性がないことが多いため、日付を正しくフォーマットすることをお勧めします。

日付/時刻関数:

名前説明
ADDDATE()日付値に時間値(間隔)を追加します
ADDTIME()時間を追加する
CONVERT_TZ()あるタイムゾーンから別のタイムゾーンに変換する
CURDATE()現在の日付を返す
CURRENT_DATE()CURRENT_DATECURDATE()の同義語
CURRENT_TIME()CURRENT_TIMECURTIME()の同義語
CURRENT_TIMESTAMP()CURRENT_TIMESTAMPNOW()の同義語
CURTIME()現在の時刻を返す
DATE()日付または日時式の日付部分を抽出します
DATE_ADD()日付値に時間値(間隔)を追加します
DATE_FORMAT()指定された日付をフォーマットします
DATE_SUB()日付から時間値(間隔)を引く
DATEDIFF()2つの日付を引く
DAY()DAYOFMONTH()の同義語
DAYNAME()平日の名前を返す
DAYOFMONTH()月の日を返す(0-31)
DAYOFWEEK()引数の平日インデックスを返します
DAYOFYEAR()年の日を返す(1-366)
EXTRACT()日付の一部を抽出する
FROM_DAYS()日番号を日付に変換する
FROM_UNIXTIME()Unixタイムスタンプを日付としてフォーマットする
GET_FORMAT()日付形式の文字列を返します
HOUR()時間を抽出する
LAST_DAY引数の月末日を返します
LOCALTIME()LOCALTIMENOW()の同義語
LOCALTIMESTAMPLOCALTIMESTAMP()NOW()の同義語
MAKEDATE()年と日から日付を作成します
MAKETIME()時間、分、秒から時間を作成します
MICROSECOND()引数からマイクロ秒を返します
MINUTE()引数から分を返す
MONTH()渡された日付から月を返します
MONTHNAME()月の名前を返す
NOW()現在の日付と時刻を返す
PERIOD_ADD()年月に期間を追加する
PERIOD_DIFF()期間間の月数を返します
QUARTER()日付引数から四半期を返す
SEC_TO_TIME()秒を「HH:MM:SS」形式に変換します
SECOND()2番目を返す(0-59)
STR_TO_DATE()文字列を日付に変換する
SUBDATE()3つの引数で呼び出された場合のDATE_SUB()の同義語
SUBTIME()減算時間
SYSDATE()関数が実行された時間を返します
TIME()渡された式の時間部分を抽出します
TIME_FORMAT()時間としてフォーマットする
TIME_TO_SEC()秒に変換された引数を返します
TIMEDIFF()時間を引く
TIMESTAMP()この関数は、引数を1つ指定すると、日付または日時の式を返します。 2つの引数を使用して、引数の合計
TIMESTAMPADD()日時式に間隔を追加する
TIMESTAMPDIFF()日時式から間隔を引く
TO_DAYS()日に変換された日付引数を返します
TO_SECONDS()0年目以降の秒に変換された日付または日時引数を返します
UNIX_TIMESTAMP()Unixタイムスタンプを返す
UTC_DATE()現在のUTC日付を返します
UTC_TIME()現在のUTC時刻を返します
UTC_TIMESTAMP()現在のUTC日時を返します
WEEK()週番号を返す
WEEKDAY()平日のインデックスを返す
WEEKOFYEAR()日付の暦週を返す(1-53)
YEAR()年を返す
YEARWEEK()年と週を返す

詳細については、 日付と時刻の関数を参照してください。

MySQLの互換性

関数str_to_date()はTiDBでサポートされていますが、すべての日付と時刻の値を解析することはできません。さらに、次の日付と時刻の書式設定オプションは実装されていません

フォーマット説明
「%a」平日の略称(日・土)
「%D」英語の接尾辞が付いた月の日(0日、1日、2日、3日)
「%U」週(00..53)、ここで日曜日は週の最初の日です。 WEEK()モード0
「%u」週(00..53)。月曜日が週の最初の日です。 WEEK()モード1
「%V」週(01..53)、ここで日曜日は週の最初の日です。 WEEK()モード2; %Xで使用
"%v"週(01..53)。月曜日が週の最初の日です。 WEEK()モード3; %xで使用
「%W」平日の名前(日曜日..土曜日)
"%w"曜日(0=日曜日..6=土曜日)
"%バツ"日曜日が週の最初の日である週の年、数値、4桁。
"%バツ"週の年。月曜日は週の最初の日で、数値は4桁です。

詳細については、 問題#30082を参照してください。

default_week_format変数はWEEK()関数に影響します。