日付と時刻関数

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

注記:

  • 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()秒を返す (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()関数に影響します。

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

Playground
登録なしで TiDB の機能をワンストップでインタラクティブに体験できます。
製品
TiDB Dedicated
TiDB Serverless
TiDB
価格
PoC お問い合わせ
エコシステム
TiKV
TiFlash
OSS Insight
© 2024 PingCAP. All Rights Reserved.
Privacy Policy.