用于从日期中提取年份的SQL查询

Joh*_*Doe 8 sql oracle toad peoplesoft

我正在尝试创建一个只从选定日期获取年份的查询.即select ASOFDATE from PSASOFDATE;回归11/15/2012,但我只想要2012.我怎么才能得到这一年?我知道YEAR可以使用该功能,但我不知道如何.

Gee*_*Gee 26

这对我有用:

SELECT EXTRACT(YEAR FROM ASOFDATE) FROM PSASOFDATE;
Run Code Online (Sandbox Code Playgroud)


小智 17

这个怎么样?

SELECT TO_CHAR(ASOFDATE, 'YYYY') FROM PSASOFDATE
Run Code Online (Sandbox Code Playgroud)


bon*_*igo -2

编辑:由于后标记“oracle”,前两个查询变得无关紧要,为 oracle 留下第三个查询。

对于 MySQL:

SELECT YEAR(ASOFDATE) FROM PASOFDATE
Run Code Online (Sandbox Code Playgroud)

编辑:无论如何,如果您的日期是字符串,让我们将其转换为正确的日期格式。并从中选择年份。

SELECT YEAR(STR_TO_DATE(ASOFDATE, '%d-%b-%Y')) FROM PSASOFDATE
Run Code Online (Sandbox Code Playgroud)

既然您正在尝试Toad,您可以检查以下代码:

对于甲骨文:

SELECT EXTRACT (TO_DATE(YEAR, 'MM/DD/YY') FROM ASOFDATE) FROM PSASOFDATE;
Run Code Online (Sandbox Code Playgroud)

参考:

  • 前两个查询针对 MySQL,第三个查询针对 Oracle。由于问题被标记为 [tag:oracle],因此这是相当具有误导性的,应该在问题中明确说明。 (6认同)