SQLで日付から年を抽出する方法

概要: このチュートリアルでは、さまざまな関数を使用してSQLで日付から年を抽出する方法を学びます。

DATEまたはDATETIMEの値が与えられた場合、EXTRACT()関数を使用してそこから年を抽出できます。以下に構文を示します。

EXTRACT(YEAR FROM date)
Code language: SQL (Structured Query Language) (sql)

構文は簡単です。dateは日付リテラルまたは日付値に評価される式にすることができます。

EXTRACT()関数は、日付の年を表す数値を返します。

次の例は、2018年7月22日の日付から年を抽出する方法を示しています。

SELECT EXTRACT(YEAR FROM '2018-07-22')
Code language: SQL (Structured Query Language) (sql)

結果は予想どおり2018です。

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

現在の年を取得するには、次のように現在の日付をEXTRACT()関数に渡します。

SELECT EXTRACT(YEAR FROM CURRENT_DATE)
Code language: SQL (Structured Query Language) (sql)

EXTRACT()関数は、MySQLOraclePostgreSQL、およびFirebirdでサポートされているSQL標準関数です。

SQL Serverを使用している場合は、YEAR()またはDATEPART()関数を使用して日付から年を抽出できます。

たとえば、次のステートメントはSQL Serverで現在の年を返します。

SELECT YEAR(CURRENT_TIMESTAMP);

SELECT DATEPART(year, CURRENT_TIMESTAMP);
Code language: SQL (Structured Query Language) (sql)

SQL Serverと同様に、MySQLもYEAR()関数をサポートしており、日付から年を返します。

SQLiteでは、次のクエリに示すように、strftime()関数を使用して日付から現在の年を取得します。

SELECT strftime('%Y', CURRENT_TIMESTAMP)
Code language: SQL (Structured Query Language) (sql)

このチュートリアルでは、日付から年を抽出するためにさまざまな関数を使用する方法を学びました。

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