13

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

4

5 に答える 5

41

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

SELECT EXTRACT(YEAR FROM ASOFDATE) FROM PSASOFDATE;
于 2014-01-26T04:50:06.343 に答える
25

これはどう?

SELECT TO_CHAR(ASOFDATE, 'YYYY') FROM PSASOFDATE
于 2012-11-21T15:42:43.037 に答える
4

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

SELECT YEAR(ASOFDATE) from PSASOFDATE;

もう1つは使用することです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)
于 2012-11-19T14:07:07.310 に答える
3

SELECT date_column_name FROM table_name WHERE EXTRACT(YEAR FROM date_column_name) = 2020

于 2020-07-21T17:25:53.247 に答える
-2

編集:ポストタグ「oracle」により、最初の2つのクエリは無関係になり、3番目のクエリはoracleに残ります。

MySQLの場合:

SELECT YEAR(ASOFDATE) FROM PASOFDATE

編集済み:いずれにせよ、日付が文字列の場合は、適切な日付形式に変換しましょう。そして、その中から年を選択します。

SELECT YEAR(STR_TO_DATE(ASOFDATE, '%d-%b-%Y')) FROM PSASOFDATE

Toadを試しているので、次のコードを確認できますか?

Oracleの場合:

SELECT EXTRACT (TO_DATE(YEAR, 'MM/DD/YY') FROM ASOFDATE) FROM PSASOFDATE;

参照:

于 2012-11-19T14:07:08.987 に答える