ywork2020.com

Title

現在の日時を取得する

目次 (INDEX)

SYSDATE とは

ここで説明する SYSDATE とは次の語句からなる SQL の関数です。
system
読み: システム
意味: 情報処理機構
date
読み: デイト
意味: 日付、日時、曜日

目次に戻る

SYSDATE 関数の概要

この関数を使うとデータベースが稼働しているコンピューター上での日時を取得することができます。 ということは、そのコンピューターの日時がズレている場合は正確な日時が取得できないということになります。

なお、この関数はMySQLとOracleで実行することができます。 他のデータベースにも別の名前で関数がありますので、このページ内で紹介しています。

目次に戻る

サンプルコードと実行結果

ここからは実際に稼働しているデータベースに接続してクエリを実行していきます。 下記に配置された各ボタンをクリックすると、ボタンに書かれているサンプルクエリを実行して結果を表示します。

サンプルコード: SQL (現在の日時データを取得する)

SELECT SYSDATE();
実行:

説明:
SELECT 文に SYSDATE 関数を使って現在の日時のデータを取得しました。 この関数には (引数) は必要ありません。()の中は空にして使用します。 なお、現在の日時とはデータベースが稼働しているコンピューター上の日時のことです。

目次に戻る

日付データから年月日を個別に取得する

日付データから年月日を個別に取得するには、それぞれ YEAR 関数、MONTH 関数、DAY 関数を使います。 これは MySQL と SQL Server で使うことができます。引数には日付型の文字列や日付を取得する関数を使用できます。

サンプルコード: SQL (YEAR 関数を使って年のデータを取得する)

SELECT YEAR('2020-01-01');
実行:

説明:
SELECT 文に YEAR 関数を使って現在の年のデータを取得しました。 ここでは引数に SYSDATE 関数を使いました。

サンプルコード: SQL (MONTH 関数を使って月のデータを取得する)

SELECT MONTH('2020-01-01');
実行:

説明:
SELECT 文に MONTH 関数を使って現在の月のデータを取得しました。 ここでは引数に SYSDATE 関数を使いました。

サンプルコード: SQL (DAY 関数を使って日のデータを取得する)

SELECT DAY('2020-01-01');
実行:

説明:
SELECT 文に DAY 関数を使って現在の日のデータを取得しました。 ここでは引数に SYSDATE 関数を使いました。

目次に戻る

MySQL 以外のデータベースの場合

この関数は他のデータベースでは違う関数名で使用します。 まず、Oracle ですが、これは MySQL と同じ関数名で使用することができます。 SQL Server では「 GETDATE 」となり、PostgreSQL では「 NOW 」関数をそれぞれ使用します。

  • MySQL: SYSDATE 関数
  • Oracle: SYSDATE 関数
  • SQL Server: GETDATE 関数
  • PostgreSQL: NOW 関数

目次に戻る

SQL の仕様上の注意点

※ SQL の予約句はアルファベットの大文字と小文字を区別しませんが、 任意で作成したデータベースやテーブル、カラムの名前などは区別されるので注意が必要です。

目次に戻る