我正在尝试创建一个仅从选定日期获取年份的查询。即select ASOFDATE from PSASOFDATE;
返回11/15/2012
,但我只想要2012
。我怎样才能只得到年份?我知道YEAR
可以使用该功能,但我不确定如何使用。
问问题
177559 次
5 回答
41
这对我有用:
SELECT EXTRACT(YEAR FROM ASOFDATE) FROM PSASOFDATE;
于 2014-01-26T04:50:06.343 回答
25
How about this one?
SELECT TO_CHAR(ASOFDATE, 'YYYY') FROM PSASOFDATE
于 2012-11-21T15:42:43.037 回答
4
只需将 columnName 作为参数传递YEAR
SELECT YEAR(ASOFDATE) from PSASOFDATE;
另一个是使用DATE_FORMAT
SELECT DATE_FORMAT(ASOFDATE, '%Y') from PSASOFDATE;
更新 1
我敢打赌,值是 varchar,格式为 MM/dd/YYYY,就是这样,
SELECT YEAR(STR_TO_DATE('11/15/2012', '%m/%d/%Y'));
LAST RESORT 如果所有查询都失败
利用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
编辑:由于 post-tag 'oracle',前两个查询变得无关紧要,将第三个查询留给 oracle。
对于 MySQL:
SELECT YEAR(ASOFDATE) FROM PASOFDATE
编辑:无论如何,如果您的日期是字符串,让我们将其转换为适当的日期格式。并从中选择年份。
SELECT YEAR(STR_TO_DATE(ASOFDATE, '%d-%b-%Y')) FROM PSASOFDATE
由于您正在尝试 Toad,您可以检查以下代码:
对于甲骨文:
SELECT EXTRACT (TO_DATE(YEAR, 'MM/DD/YY') FROM ASOFDATE) FROM PSASOFDATE;
于 2012-11-19T14:07:08.987 回答