MySQLの日付と時刻関数の使用の概要

MySQLの日付と時刻関数の使用の概要

この記事はMySQL 8.0に基づいています

この記事では、日付と時刻の操作のための MySQL 関数を紹介します。

日付と時刻関数

関数説明する
追加日付()日付値に時間値を追加する
ADDTIME()時間を追加
CONVERT_TZ()あるタイムゾーンから別のタイムゾーンに変換する
CURDATE()現在の日付を返します
CURRENT_DATE()、CURRENT_DATE CURDATE() と同義
CURRENT_TIME()、CURRENT_TIME CURDATE() と同義
CURRENT_TIMESTAMP()、CURRENT_TIMESTAMP NOW()と同義
現在の時間()現在の時刻を返します
日付()日付または日付時刻式の日付部分を取得します
日付追加()日付値に時間値(間隔)を追加する
日付フォーマット()指定された形式で日付をフォーマットします
日付サブ()日付から時間値(間隔)を減算する
日付差分() 2つの日付を減算する
日() DAYOFMONTH() と同義
曜日名()曜日名を返します
月曜()月の日付を返します(0~31)
曜日()パラメータでソートされた曜日を返します
DAYOFYEAR()年の何日目かを返します(1~366)
抽出する()デートの一部を取得する
FROM_DAYS()日数を日付に変換する
FROM_UNIXTIME() Unix タイムスタンプを日付としてフォーマットする
GET_FORMAT()日付フォーマット文字列を返します
時間()時間を取得
最終日引数の月の最終日を返します
ローカル時間()、ローカル時間NOW()と同義
ローカルタイムスタンプ、ローカルタイムスタンプ() NOW()と同義
作成日()年と日から日付を作成する
メイクタイム()時間、分、秒から時間を作成する
マイクロ秒()引数からマイクロ秒を返します
分()戻りパラメータ分
月()過去の日付から月を返します
月名()月の名前を返します
今()現在の日付と時刻を返します
PERIOD_ADD()年月間にピリオドを追加する
期間_DIFF()期間間の月数を返します
四半期()日付引数から四半期を返します
SEC_TO_TIME()秒を「hh:mm:ss」形式に変換します
2番目()秒数を返します(0~59)
STR_TO_DATE()文字列を日付に変換する
サブ日付() 3 つの引数を指定して呼び出された場合は、DATE_SUB() と同義です。
サブタイム()時間を減算する
SYSDATE()関数が実行された時刻を返します
時間()渡された式に従って時間を取得します
TIME_FORMAT()フォーマットは時間です
TIME_TO_SEC()引数を秒数に変換して返します
タイムディフ()時間減算
タイムスタンプ()引数が 1 つの場合、この関数は日付または日付時刻式を返します。引数が 2 つの場合、引数の合計を返します。
タイムスタンプ追加()日付時刻式に間隔を追加する
タイムスタンプDIFF()日付時刻式から間隔を減算する
TO_DAYS()日付パラメータを日に変換して返します
TO_SECONDS()日付または日付時刻引数を0年からの秒数に変換して返します。
UNIX_TIMESTAMP() Unixタイムスタンプを返します
UTC_DATE()現在のUTC日付を返します
UTC_TIME()現在のUTC時間を返します
UTC_TIMESTAMP()現在のUTCの日付と時刻を返します
週()曜日を返します
平日()営業日数を返します
週次()日付の暦週を返します (1-53)
年()復帰年
週()年と曜日を返します

よく使用される MySQL の日付と時刻関数の例を見てみましょう。

現在の日付と時刻を取得する

CURDATE()

関数が文字列コンテキストで使用されているか、数値コンテキストで使用されているかに応じて、現在の日付を「YYYY-MM-DD」または YYYYMMDD 形式で返します。

mysql> CURDATE() を選択する;
 -> '2008-06-13'
mysql> CURDATE() + 0 を選択します。
 -> 20080613

CURTIME([fsp])

関数が文字列コンテキストで使用されているか数値コンテキストで使用されているかに応じて、現在の時刻を 'hh:mm:ss' または hhmmss 形式で返します。値はセッションのタイムゾーンで表現されます。

指定された fsp 精度が小数点以下 0 から 6 桁の場合、小数点精度は 0 から 6 になります。

mysql> CURTIME() を選択する;
 -> '23:50:26'
mysql> CURTIME() + 0 を選択します。
 -> 235026.000000

今([fsp])

関数が文字列コンテキストで使用されているか数値コンテキストで使用されているかに応じて、現在の日付と時刻を 'YYYY-MM-DD hh:MM:ss' または YYYYMMDDhhmmss 形式で返します。値はセッションのタイムゾーンで表現されます。

mysql> NOW() を選択してください。
 -> '2007-12-15 23:50:26'
mysql> SELECT NOW() + 0;
 -> 20071215235026.000000

時間と日付の形式の変換

同じ日付と時刻をさまざまな方法で表現できるため、異なる形式間で変換する必要がある場合もあります。 MySQL では、date_format() 関数が使用されます。

  • DATE_FORMAT(日付、形式): 書式文字列に従って日付値を書式設定します。

関連する形式は次のとおりです。この関数で使用されるほか、この形式は STR_TO_DATE()、TIME_FORMAT()、UNIX_TIMESTAMP() でも使用できます。

形式説明する
%a曜日の略称(日曜~土曜)
%b月名の省略形(1月~12月)
%c月、数値 (0..12)
%D英語の接頭辞付きの月日 (0 日、1 日、2 日、3 日、…)
%d月の1日の値(00..31)
%e 1 か月の 1 日の値 (0..31)
%fマイクロ秒 (000000..999999)
%H時間 (00..23)
%h時間 (01..12)
%私時間 (01..12)
%私分、値 (00..59)
%j年の通算日 (001..366)
%k時間 (0..23)
%l時間 (1..12)
%M月名(1月~12月)
%m月、値 (00..12)
%p午前または午後
%r時刻、12 時間制 (hh:mm:ss AM または PM)
%S秒 (00..59)
%s秒 (00..59)
%T時間、24 時間 (hh:mm:ss)
%W曜日(日曜日..土曜日)
%w曜日 (0=日曜日..6=土曜日)
%Y年、数字、4桁
%y年、数字、2桁

mysql> DATE_FORMAT('2009-10-04 22:23:00', '%W %M %Y') を選択します。
 -> 「2009年10月日曜日」
mysql> DATE_FORMAT('2007-10-04 22:23:00', '%H:%i:%s')を選択します。
 -> '22:23:00'
mysql> DATE_FORMAT('1900-10-04 22:23:00', を選択
 -> '%D %y %a %d %m %b %j');
 -> '277年10月10日 木曜 04 00'
mysql> DATE_FORMAT('1997-10-04 22:23:00', を選択
 -> '%H %k %I %r %T %S %w');
 -> '22 22 10 10:23:00 PM 22:23:00 00 6'
mysql> DATE_FORMAT('1999-01-01', '%X %V') を選択します。
 -> '1998 52'
mysql> DATE_FORMAT('2006-06-00', '%d') を選択します。
 -> '00'

日付と時刻の操作

  • DATE_ADD(日付,INTERVAL 式 単位),
  • DATE_SUB(日付,INTERVAL 式 単位)

これらの関数は日付演算を実行して日付を前方または後方にシフトします。日付パラメータは、開始日または日時値を指定します。 expr は、開始日から加算または減算する間隔値を指定する式です。 expr は文字列として評価されます。負の区間を示すために - で始まる場合があります。 unit は、式で使用する単位を示すキーワードです。

mysql> DATE_ADD('2018-05-01',INTERVAL 1 DAY) を選択します。
 -> '2018-05-02'
mysql> DATE_SUB('2018-05-01',INTERVAL 1 YEAR) を選択します。
 -> '2017-05-01'
mysql> SELECT DATE_ADD('2020-12-31 23:59:59',
 -> 間隔 1 秒);
 -> '2021-01-01 00:00:00'
mysql> SELECT DATE_ADD('2018-12-31 23:59:59',
 -> 間隔 1 日);
 -> '2019-01-01 23:59:59'
mysql> SELECT DATE_ADD('2100-12-31 23:59:59',
 -> 間隔 '1:1' 分秒);
 -> '2101-01-01 00:01:00'
mysql> SELECT DATE_SUB('2025-01-01 00:00:00',
 -> 間隔 '1 1:1:1' DAY_SECOND);
 -> '2024-12-30 22:58:59'
mysql> SELECT DATE_ADD('1900-01-01 00:00:00',
 -> 間隔 '-1 10' DAY_HOUR);
 -> '1899-12-30 14:00:00'
mysql> SELECT DATE_SUB('1998-01-02', INTERVAL 31 DAY);
 -> '1997-12-02'
mysql> SELECT DATE_ADD('1992-12-31 23:59:59.000002',
 -> 間隔 '1.999999' SECOND_MICROSECOND);
 -> '1993-01-01 00:00:01.000001'
  • DATEDIFF(式1,式2)

DATEDIFF() は、ある日付から別の日付までの日数として表される expr1−expr2 を返します。 expr1 と expr2 は日付または日付と時刻の式です。計算には値の日付部分のみが使用されます。

mysql> DATEDIFF('2007-12-31 23:59:59','2007-12-30')を選択します。
 -> 1
mysql> DATEDIFF('2010-11-30 23:59:59','2010-12-31')を選択します。
 -> -31

参照:

【1】:12.7 日付と時刻関数

[2]: 現在の日付と時刻を取得するMySQL関数

【3】:MySQLの日付と時刻関数のガイド

これで、MySQL の日付と時刻関数に関するこの記事は終了です。MySQL の日付と時刻関数の詳細については、123WORDPRESS.COM の以前の記事を検索するか、次の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • Mysqlの日付と時刻関数を扱う記事
  • MySQL の日付と時刻関数の概要 (MySQL 5.X)
  • PHP Mysql 日付と時刻関数コレクション
  • mYsqlの日付と時刻の関数はヘルプを必要としません
  • MySQL の日付と時刻関数の知識の要約

<<:  イメージの起動時にdocker runまたはdocker restartが自動的に終了する問題を解決します

>>:  HTMLフォームタグチュートリアル(1):

推薦する

Linux システムでキャッシュをクリアする方法の概要

1) キャッシュメカニズムの紹介Linux システムでは、ファイルシステムのパフォーマンスを向上させ...

vue keepAlive キャッシュクリア問題事例の詳細な説明

Keepalive は Vue プロジェクトでのキャッシュによく使用され、基本的な要件を満たすのに非...

MySQL 中断された接続警告ログの分析

序文:場合によっては、MySQL に接続されたセッションが異常終了することが多く、エラー ログに「通...

メモリの原則に関する詳細な説明: JS では変数はヒープに保存されるのか、スタックに保存されるのか?

目次1. 冷蔵庫に入りきらない象2. シャドウクローン文字列3. 実際に見た「奇妙なボール」 4. ...

あまり多くのコードを書かずに、ハイパーリンクを使ってシンプルで美しいカスタムチェックボックスを実装できます。

今日ふと、HTML でチェックボックスのスタイルを変更できる範囲が限られていることと、チェックボック...

Vueを使用して手書き署名機能を実装する

個人的な実装のスクリーンショット:インストール: npm インストール vue-esign --sa...

DockerにJava環境をインストールするための実装手順

この記事は Linux centos8 をベースにして、docker をインストールし、イメージをプ...

JavaScript で文字列内の最長の単語を見つける 3 つの方法 (推奨)

この記事は、Free Code Camp の基本アルゴリズム スクリプト「文字列内の最長の単語を見つ...

JavaScript の知識: コンストラクタも関数である

目次1. コンストラクタの定義と呼び出し2. 新しいキーワードの目的3. コンストラクタの問題: メ...

トラフィックの多いウェブサイト向けのソリューション

まず、サーバーのハードウェアが現在のトラフィックをサポートするのに十分かどうかを確認します。通常の ...

ハイパーリンクを使用してリンクファイルを開く HTML 方式の紹介

a および href 属性 HTML では、英語ではアンカーと呼ばれるハイパーリンクを表すために &...

bash を使って日付をカウントダウンする方法

重要なイベントまであと何日あるか知りたいですか? Linux bash と date コマンドが役に...

MySQL 5.7 JSON 型の使用の詳細

JSON は、言語に依存しないテキスト形式を使用する軽量のデータ交換形式で、XML に似ていますが、...

Vue ログインページでクッキーを使用してパスワードを 7 日間記憶する方法

問題の説明プロジェクトのログインページでは、7日間パスワードを記憶する必要がある機能があります。この...

18 個のキラー JavaScript ワンライナー

序文JavaScript は習得が最も簡単な言語の 1 つであるため、成長と繁栄を続けており、市場に...