概要: このチュートリアルでは、SQL CURRENT_TIMESTAMP
関数を使用して現在の時刻を取得する方法を習得します。
データベースサーバーの現在の日時を取得するには、以下に示すように SQL CURRENT_TIMESTAMP
関数を使用します。
CURRENT_TIMESTAMP
Code language: SQL (Structured Query Language) (sql)
CURRENT_TIMESTAMP
関数は、DB2、Firebird、Microsoft SQL Server、MySQL、Oracle、PostgreSQL、SQLite などのほとんどのデータベースシステムでサポートされている SQL 標準関数です。
次の文は、データベースサーバーの現在の日時を返します。
SELECT CURRENT_TIMESTAMP
AS 'Current date and time';
Code language: SQL (Structured Query Language) (sql)
出力が次に示されます。
Current date and time
-----------------------
2018-07-21 18:12:42.023
Code language: SQL (Structured Query Language) (sql)
Oracle では、以下に示すように FROM dual
句を追加する必要があることに注意してください。
SELECT
CURRENT_TIMESTAMP
AS 'Current date and time'
FROM
dual;
Code language: SQL (Structured Query Language) (sql)
CURRENT_TIMESTAMP
は、多くの場合、テーブルの DATETIME
または TIMESTAMP
型の列のデフォルト値を設定するために使用されます。
たとえば、次の文は、既定値として日時を受け入れる created_at
列を持つ新しいテーブルを作成します。
CREATE TABLE posts(
id INT PRIMARY KEY,
title VARCHAR(255) NOT NULL,
created_at DATETIME DEFAULT CURRENT_TIMESTAMP
);
Code language: SQL (Structured Query Language) (sql)
created_at
列の値を指定しないでポストテーブルに行を挿入すると、次の文に示すように、データベースシステムはその列に現在の日時を使用します。
INSERT INTO posts(id,title)
VALUES(1,'SQL CURRENT_TIMESTAMP test');
Code language: SQL (Structured Query Language) (sql)
posts
テーブルの内容を確認してみましょう。
SELECT * FROM posts;
Code language: SQL (Structured Query Language) (sql)
出力が次に示されます。

このチュートリアルでは、SQL CURRENT_TIMESTAMP
関数を使用して、データベースサーバーの現在の日時を取得する方法を学習しました。
このチュートリアルは役に立ちましたか?