从一个日期提取年份的SQL查询

我想创建一个只从选定日期获取年份的查询。即select ASOFDATE from PSASOFDATE;返回11/15/2012,但我只想要2012。我怎样才能得到这一年?我知道YEAR函数可以使用,但我不知道如何。从一个日期提取年份的SQL查询

回答:

SELECT YEAR(ASOFDATE) FROM PASOFDATE 

Editted: 在anycase如果你的日期是一个字符串,让我们将它转​​换成一个适当的日期格式。并选择其中的一年。

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

既然你想蟾蜍,你能检查下面的代码:

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

Reference:

回答:

只要传递COLUMNNAME作为YEAR

SELECT YEAR(ASOFDATE) from PSASOFDATE; 

参数的另一个是使用DATE_FORMAT

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

  • SQLFiddle Demo

UPDATE 1

我敢打赌值的varchar格式为MM/DD/YYYY,它是那样的话,

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

  • SQLFiddle Demo

不得已如果所有查询失败

使用SUBSTRING

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

  • SQLFiddle Demo

回答:

在SQL Server中,你可以使用:

SELECT DATEPART(year, ASOFDATE) FROM PSASOFDATE 

这不尽管如此,Oracle仍然在努力。

回答:

这个怎么样?

SELECT TO_CHAR(ASOFDATE, 'YYYY') FROM PSASOFDATE 

回答:

这为我工作:为[标签:甲骨文]:

SELECT EXTRACT(YEAR FROM ASOFDATE) FROM PSASOFDATE; 

以上是 从一个日期提取年份的SQL查询 的全部内容, 来源链接: utcz.com/qa/257699.html

回到顶部