日付と時刻の関数

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 年以降の秒数に変換された date または datetime 引数を返します。
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」英語の接尾語が付いた日付 (0th、1st、2nd、3rd)
「%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()関数に影響します。

このページは役に立ちましたか?