SQL 文字列から日付への変換関数

概要: このチュートリアルでは、SQL で文字列を日付に変換するさまざまな関数の学習します。

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

SQL には文字列を日付に変換できる CAST() 関数があります。次の図は CAST() 関数の構文を示しています。

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

この構文では、string は日付に変換できる任意の DATE 値であることができます。CAST() 関数は、文字列から日付への変換に成功すると DATE 値を返します。関数が変換に失敗した場合、特定のデータベースシステムの実装に応じてエラーが発行されます。

次の例は、文字列を日付に変換する方法を示しています。

SELECT CAST('2018' AS DATE);
Code language: SQL (Structured Query Language) (sql)

SQL Server は文字列 20181 月 1 日, 2018 に変換します

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

同様に、次の例も文字列 1801011 月 1 日, 2018 に変換します。

SELECT CAST('180101' AS DATE);
Code language: SQL (Structured Query Language) (sql)

結果は次のとおりです。

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

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

Oracle と PostgreSQL には、指定した形式に基づいて文字列を日付に変換する TO_DATE() 関数が用意されています。

次の図は TO_DATE() 関数の構文を示しています。

TO_DATE(string, format)
Code language: SQL (Structured Query Language) (sql)

たとえば、文字列 '10 Aug 2018' を日付値に変換するには、次のステートメントを使用します。

SELECT
  TO_DATE( '10 Aug 2018', 'DD MON YYYY' )
FROM
  dual; 
Code language: SQL (Structured Query Language) (sql)

日付形式は、ステートメント DD MON YYYY で指定した日付文字列と一致する必要があることに注意してください。

詳細については、Oracle TO_DATE() と PostgreSQL TO_DATE() 関数を参照してください。

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

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