MySQLでタイムスタンプを取得する方法|CURRENT_TIMESTAMP・NOW・UNIX_TIMESTAMPの使い方
MySQLで現在の日時やタイムスタンプを取得するには、CURRENT_TIMESTAMP、NOW()、CURRENT_TIMESTAMP()などの関数が利用できます。本記事では、それぞれの関数の使い方を実際の実行例とともにわかりやすく解説します。
ケース1:CURRENT_TIMESTAMP() を使う方法
現在の日時を「YYYY-MM-DD HH:MM:SS」形式で取得するには、以下のクエリを実行します。
mysql> SELECT CURRENT_TIMESTAMP();
実行結果は以下の通りです。
+---------------------+ | CURRENT_TIMESTAMP() | +---------------------+ | 2018-11-29 16:09:31 | +---------------------+ 1 row in set (0.00 sec)
このように、サーバーのローカル時刻に基づいた現在日時が返されます。なお、CURRENT_TIMESTAMP() は NOW() のシノニム(別名)であり、どちらも同じ結果を返します。
ケース2:NOW() を使う方法
NOW() 関数でも同様に現在の日時を取得できます。クエリは以下の通りです。
mysql> SELECT NOW();
実行結果:
+---------------------+ | now() | +---------------------+ | 2018-11-29 16:09:38 | +---------------------+ 1 row in set (0.00 sec)
UNIXタイムスタンプ(整数値)を取得する方法
1970年1月1日00:00:00 UTCからの経過秒数であるUNIXタイムスタンプを整数値として取得したい場合は、UNIX_TIMESTAMP() 関数を使用します。以下のクエリを実行してください。
mysql> SELECT UNIX_TIMESTAMP();
実行結果:
+------------------+ | unix_timestamp() | +------------------+ | 1543488374 | +------------------+ 1 row in set (0.04 sec)
UNIX_TIMESTAMP() は、システム間でのデータ連携やレコードのソート処理など、時刻を数値として扱いたい場合に特に便利です。
まとめ
- CURRENT_TIMESTAMP() / NOW():現在の日時を「YYYY-MM-DD HH:MM:SS」形式で取得できる
- UNIX_TIMESTAMP():現在の時刻を整数のUNIXタイムスタンプとして取得できる
用途に応じてこれらの関数を使い分けることで、MySQLでの日時操作をより効率的に行うことができます。
-
MySQLクエリで4番目に高い値を取得する方法(LIMIT OFFSET活用)
MySQLで4番目に高い値を取得するには?テーブルから4番目に高い値を取得するには、ORDER BY句で降順に並べ替え、LIMITとOFFSETを組み合わせるのが最もシンプルな方法です。まずは、動作を確認するためのサンプルテーブルを作成しましょう。mysql> create table DemoTable ( Amount int ); Query OK, 0 rows affected (0.88 sec)次に、INSERTコマンドを使ってテーブルにレコードを挿入します。mysql> insert into DemoTable va
-
MySQLで別テーブルのIDからユーザー名を取得する方法|JOINの使い方を徹底解説
MySQLでは、別々のテーブルに保存されたデータをIDをキーに関連付けて取得したい場面が多くあります。そのような場合にはJOIN(内部結合)を使うことで、複数のテーブルを結合し、目的のユーザー名を簡単に取り出すことができます。 本記事では、実際にサンプルテーブルを作成しながら、JOINクエリの書き方をステップごとに解説します。 1つ目のテーブル「demo77」を作成する まず、ユーザーID(userid)とユーザー名(username)を格納するテーブルを作成します。useridは主キーとして設定します。 mysql> create table demo77 -> (