SQL 日付文字列変換関数

要約: このチュートリアルでは、日付を SQL で文字列に変換するためのさまざまな関数について学びます。

CAST() 関数を使用して日付を文字列に変換する

日付を文字列に変換するには、以下のように CAST() 関数を使用します

CAST(date AS string)
Code language: SQL (Structured Query Language) (sql)

この構文では

  • date はリテラルまたは DATE 値に評価される式にすることができます。
  • 文字列は、VARCHAR または TEXT などの文字列データ型にすることができます。

CAST() 関数は、日付を表す文字列を返します。

次の文は、現在の日時を日付と文字列として返します

SELECT CURRENT_TIMESTAMP 'date',
   CAST(CURRENT_TIMESTAMP AS VARCHAR) 'date as a string';
Code language: SQL (Structured Query Language) (sql)

出力が次のようになります

CAST() は標準 SQL 関数ですが、それをサポートするデータベース システムは多くありません。

TO_CHAR() 関数を使用して日付を文字列に変換する

DB2、Oracle、MySQL、PostgreSQL は、CAST 関数と似た機能を持つ TO_CHAR() という関数を提供します。TO_CHAR() 関数は、日付を文字列としてフォーマットするために使用できます。

TO_CHAR() 関数の構文を以下に示します

TO_CHAR(value, format);
Code language: SQL (Structured Query Language) (sql)

次の例では、TO_CHAR() 関数を使用して Oracle の YYYY-MM-DD 形式で現在の日付をフォーマットします

SELECT 
    TO_CHAR(SYSDATE, 'YYYY-MM-DD') 
FROM 
    dual;
Code language: SQL (Structured Query Language) (sql)

出力が次のようになります

2018-07-21
Code language: SQL (Structured Query Language) (sql)

このチュートリアルでは、CAST() 関数と TO_CHAR() 関数を使用して SQL で日付を文字列に変換する方法について学びました。

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