web-dev-qa-db-ja.com

日付から年を抽出するためのSQLクエリ

選択した日付から年のみを取得するクエリを作成しようとしています。つまりselect ASOFDATE from PSASOFDATE; 戻り値 11/15/2012、しかし2012。どうすれば年だけを取得できますか? YEAR関数を使用できることは知っていますが、どうすればよいかわかりません。

8
John Doe

これは私のために働いた:

SELECT EXTRACT(YEAR FROM ASOFDATE) FROM PSASOFDATE;
26
Gee

これはどう?

SELECT TO_CHAR(ASOFDATE, 'YYYY') FROM PSASOFDATE
17
Juan

columnNameをYEARのパラメーターとして渡すだけです

SELECT YEAR(ASOFDATE) from PSASOFDATE;

別の方法は、DATE_FORMAT

SELECT DATE_FORMAT(ASOFDATE, '%Y') from PSASOFDATE;

更新1

値がMM/dd/YYYYの形式のvarcharであることに間違いありません。

SELECT YEAR(STR_TO_DATE('11/15/2012', '%m/%d/%Y'));

すべてのクエリが失敗した場合の最終解決

SUBSTRINGを使用します

SELECT SUBSTRING('11/15/2012', 7, 4)
3
John Woo