MySQLは現在の日付と時刻を取得する関数の例の詳細な説明

MySQLは現在の日付と時刻を取得する関数の例の詳細な説明

現在の日付 + 時刻 (日付 + 時刻) を取得する関数: now()

mysql> now() を選択します。

+---------------------+
| 今() |
+---------------------+
| 2008-08-08 22:20:46 |
+---------------------+

現在の日付 + 時刻 (日付 + 時刻) を取得する関数: sysdate()

sysdate() 日付と時刻関数は now() と似ていますが、now() は実行の開始時に値を取得するのに対し、sysdate() は関数の実行時に動的に値を取得する点が異なります。理解するには次の例を見てください。

mysql> now()、sleep(3)、now() を選択します。

+---------------------+----------+---------------------+
| 今() | スリープ(3) | 今() |
+---------------------+----------+---------------------+
| 2008-08-08 22:28:21 | 0 | 2008-08-08 22:28:21 |
+---------------------+----------+---------------------+

sysdate() 日付と時刻の関数。一般的にはあまり使用されません。

MySQL は現在のタイムスタンプ関数を取得します: current_timestamp、current_timestamp()

mysql> current_timestamp、current_timestamp() を選択します。

+---------------------+---------------------+
| 現在のタイムスタンプ | 現在のタイムスタンプ() |
+---------------------+---------------------+
| 2008-08-09 23:22:24 | 2008-08-09 23:22:24 |
+---------------------+---------------------+

MySQL 日付変換関数、時刻変換関数

MySQL 日付/時刻を Str (日付/時刻を文字列に変換) 関数: date_format(date,format)、time_format(time,format)

mysql> date_format('2008-08-08 22:23:01', '%Y%m%d%H%i%s') を選択します。

+----------------------------------------------------+
| date_format('2008-08-08 22:23:01', '%Y%m%d%H%i%s') |
+----------------------------------------------------+
| 20080808222301 |
+----------------------------------------------------+

MySQL の日付と時刻の変換関数: date_format(date,format)、time_format(time,format) は、日付/時刻をさまざまな文字列形式に変換できます。これは、str_to_date(str,format) 関数の逆変換です。

MySQL Str to Date (文字列から日付) 関数: str_to_date(str, format)

str_to_date('08/09/2008', '%m/%d/%Y') を選択します -- 2008-08-09
str_to_date('08/09/08' , '%m/%d/%y') を選択します -- 2008-08-09
str_to_date('08.09.2008', '%m.%d.%Y') を選択します -- 2008-08-09
str_to_date('08:09:30', '%h:%i:%s') を選択します -- 08:09:30
str_to_date('08.09.2008 08:09:30', '%m.%d.%Y %h:%i:%s') を選択します -- 2008-08-09 08:09:30

ご覧のとおり、str_to_date(str,format) 変換関数は、乱雑な文字列を日付形式に変換できます。あるいは、時間に変換することもできます。 「フォーマット」については、MySQL のマニュアルを参照してください。

MySQL (日付、日) 変換関数: to_days(日付)、from_days(日)

to_days('0000-00-00'); を選択します -- 0
to_days('2008-08-08'); を選択します -- 733627

MySQL (時間、秒) 変換関数: time_to_sec(時間)、sec_to_time(秒)

time_to_sec('01:00:05'); を選択します -- 3605
sec_to_time(3605); を選択します -- '01:00:05'

MySQL makedate(年、年曜日)、maketime(時、分、秒)

makedate(2001,31); を選択します -- '2001-01-31'
makedate(2001,32); を選択します --'2001-02-01'
maketime(12,15,30); を選択します -- '12:15:30'

MySQL (Unix タイムスタンプ、日付) 変換関数

unix_timestamp()、
unix_timestamp(日付)、
from_unixtime(unix_timestamp)、
from_unixtime(unix_timestamp,フォーマット)

次に例を示します。

unix_timestamp() を選択; -- 1218290027
unix_timestamp('2008-08-08'); を選択します -- 1218124800
unix_timestamp('2008-08-08 12:30:00'); を選択します -- 1218169800

from_unixtime(1218290027); を選択します --'2008-08-09 21:53:47'
from_unixtime(1218124800); を選択します --'2008-08-08 00:00:00'
from_unixtime(1218169800); を選択します --'2008-08-08 12:30:00'

from_unixtime(1218169800, '%Y %D %M %h:%i:%s %x') を選択します -- '2008 8月8日 12:30:00 2008'

MySQL の日付と時刻の計算関数

MySQL は日付に時間間隔を追加します: date_add()

@dt = now() を設定します。

select date_add(@dt, interval 1 day); -- 1日追加します
select date_add(@dt, interval 1 hour); -- 1時間追加します
date_add(@dt, 間隔 1 分) を選択します -- ...
date_add(@dt、間隔1秒)を選択します。
date_add(@dt、間隔1マイクロ秒)を選択します。
date_add(@dt、間隔1週間)を選択します。
date_add(@dt、間隔1か月)を選択します。
date_add(@dt、間隔1四半期)を選択します。
date_add(@dt、間隔1年)を選択します。

select date_add(@dt, interval -1 day); -- 1日を減算

MySQL の adddate()、addtime() 関数は date_add() に置き換えることができます。以下は、addtime() 関数を実装する date_add() の例です。

mysql> @dt = '2008-08-09 12:12:33' を設定します。

マイSQL>
mysql> date_add(@dt、間隔 '01:15:30' 時間_秒) を選択します。

+------------------------------------------------+
| date_add(@dt, 間隔 '01:15:30' 時間_秒) |
+------------------------------------------------+
| 2008-08-09 13:28:03 |
+------------------------------------------------+

mysql> date_add(@dt、間隔 '1 01:15:30' day_second) を選択します。

+-------------------------------------------------+
| date_add(@dt、間隔 '1 01:15:30' day_second) |
+-------------------------------------------------+
| 2008-08-10 13:28:03 |
+-------------------------------------------------+

MySQL は日付から間隔を減算します: date_sub()

mysql> date_sub('1998-01-01 00:00:00', 間隔 '1 1:1:1' day_second) を選択します。

+----------------------------------------------------------------+
| date_sub('1998-01-01 00:00:00', 間隔 '1 1:1:1' day_second) |
+----------------------------------------------------------------+
| 1997-12-30 22:58:59 |
+----------------------------------------------------------------+

MySQL の date_sub() 日付と時刻関数は date_add() と同じ使い方をするため、ここでは詳細には説明しません。

MySQL の日付と時刻の減算関数: datediff(date1,date2)、timediff(time1,time2)

MySQL datediff(date1,date2): 2 つの日付から date1 - date2 を減算し、日数を返します。
datediff('2008-08-08', '2008-08-01'); を選択します -- 7
datediff('2008-08-01', '2008-08-08'); を選択します -- -7

MySQL timediff(time1, time2): 2 つの日付から time1 - time2 を減算し、時間差を返します。

timediff('2008-08-08 08:08:08', '2008-08-08 00:00:00'); を選択します -- 08:08:08
timediff('08:08:08', '00:00:00'); を選択します -- 08:08:08

注意: timediff(time1, time2) 関数の 2 つのパラメータは同じ型である必要があります。

MySQL タイムスタンプの変換、増加、減少関数:

timestamp(date) -- 日付をタイムスタンプにする
timestamp(dt,time) -- dt + 時間
timestampadd(単位、間隔、日時式) --
timestampdiff(単位,datetime_expr1,datetime_expr2) --

例のセクションを参照してください:

タイムスタンプを選択します('2008-08-08'); -- 2008-08-08 00:00:00
タイムスタンプを選択('2008-08-08 08:00:00', '01:01:01'); -- 2008-08-08 09:01:01
タイムスタンプを選択('2008-08-08 08:00:00', '10 01:01:01'); -- 2008-08-18 09:01:01

timestampadd(day, 1, '2008-08-08 08:00:00') を選択します -- 2008-08-09 08:00:00
date_add('2008-08-08 08:00:00'、間隔 1 日) を選択します -- 2008-08-09 08:00:00

MySQL timestampadd() 関数は date_add() に似ています。
timestampdiff(year,'2002-05-01','2001-01-01'); を選択します -- -1
timestampdiff(day,'2002-05-01','2001-01-01') を選択します -- -485
timestampdiff(hour,'2008-08-08 12:00:00','2008-08-08 00:00:00'); を選択します -- -12

datediff('2008-08-08 12:00:00', '2008-08-01 00:00:00'); を選択します -- 7

MySQL timestampdiff() 関数は、2 つの日付間の日数しか計算できない datediff() よりもはるかに強力です。

MySQL タイムゾーン変換関数

convert_tz(dt,from_tz,to_tz)

convert_tz('2008-08-08 12:00:00', '+08:00', '+00:00'); を選択します -- 2008-08-08 04:00:00

タイムゾーンの変換は、date_add、date_sub、timestampadd を通じても実行できます。

date_add('2008-08-08 12:00:00'、間隔 -8 時間) を選択します -- 2008-08-08 04:00:00
date_sub('2008-08-08 12:00:00', 間隔 8 時間) を選択します -- 2008-08-08 04:00:00
timestampadd(hour, -8, '2008-08-08 12:00:00') を選択します -- 2008-08-08 04:00:00

その他の参考資料: https://www.jb51.net/article/201868.htm

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

以下もご興味があるかもしれません:
  • MySQLのDATE_ADDとADDDATE関数は、指定された時間間隔を日付に追加します。
  • MySQL DATEDIFF 関数を使用して 2 つの日付間の時間間隔を取得する方法
  • Mysqlの日付と時刻関数を扱う記事
  • MySQL の日付と時刻関数の概要 (MySQL 5.X)
  • MySQLの日付と時刻関数の使用の概要
  • mysqlは時間を自動的に追加し、時間を自動的に追加および更新する操作を実装します

<<:  Dockerコンテナのタイムゾーン調整操作

>>:  XHTML 入門チュートリアル: フォーム タグ

推薦する

MySQL 5.7 でパスワードを忘れた場合の解決方法の詳細な説明

環境: [root@centos7 ~]# uname -r 3.10.0-514.el7.x86_...

jsはブラウザを閉じるときにアカウントのログアウトを処理します

目次古典的なアプローチ質問その他の質問注意が必要な問題古典的なアプローチご存知のとおり、アカウントの...

Mysql の varchar 型に関する注意点

varchar の保存ルール4.0 未満のバージョンでは、varchar(20) は 20 バイトを...

Linux 最速のテキスト検索ツール ripgrep (grep の最良の代替)

序文テキスト検索ツールといえば、Linux で最も便利でよく使われるツールの 1 つである grep...

Vue ElementUI は非同期読み込みツリーを実装します

この記事の例では、vue ElementUI の非同期読み込みツリーを実装するための具体的なコードを...

開発にVscodeとdockerを組み合わせて使用​​する詳細なプロセス

序文Docker と VS Code を使用すると、ローカル開発環境全体を最適化し、プロジェクトの進...

Web プロジェクト開発 VUE の混合と継承の原則

目次ミキシンMixin ノート (重複名)ローカルミックスイングローバル ミックスイン定義とグローバ...

ネイティブ JavaScript メッセージボード

この記事では、参考までにメッセージボードを実装するためのJavaScriptの具体的なコードを紹介し...

iframe でページを開く方法

解決:リンクのターゲット属性値をターゲット フレームワーク名と同じに設定するだけです。具体的な手順:...

スペース均等互換性の問題を解決する2つの方法についての簡単な説明

flex は 2009 年のリリース以来、ほぼすべてのブラウザでサポートされています。シンプルでレス...

2級コンピュータ試験のMySQL知識ポイント mysql alterコマンド

テーブル構造を編集するための MySQL の alter コマンドの使用。具体的な内容は以下のとおり...

MySQLスローログクエリの詳細な説明

遅いログクエリ機能スロー ログ クエリの主な機能は、設定された時間しきい値を超える SQL ステート...

個人履歴書を作成するための HTML の簡単な実装

履歴書コード: XML/HTML コードコンテンツをクリップボードにコピー<!DOCTYPE ...

Vuexの役割についての深い理解

目次概要コンポーネント間でデータを共有する方法Vuex の原則の紹介Vuexはコンポーネントのグロー...