SQL CURRENT_TIMESTAMP

概要: このチュートリアルでは、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 example

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

このチュートリアルは役に立ちましたか?