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

声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow 原文地址: http://stackoverflow.com/questions/13455440/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me): StackOverFlow

提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-09-01 12:11:45  来源:igfitidea点击:

SQL query for extracting year from a date

sqloracletoadpeoplesoft

提问by John Doe

I am trying to create a query that gets only the year from selected dates. I.e. select ASOFDATE from PSASOFDATE;returns 11/15/2012, but I want only 2012. How can I get only the year? I know the YEARfunction can be used, but I'm not sure how.

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

采纳答案by bonCodigo

SELECT YEAR(ASOFDATE) FROM PASOFDATE

Editted: In anycase if your date is a String, let's convert it into a proper date format. And select the year out of it.

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

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

Since you are trying Toad, can you check the following code:

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

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

Reference:

参考:

回答by Gee

This worked for me:

这对我有用:

SELECT EXTRACT(YEAR FROM ASOFDATE) FROM PSASOFDATE;

回答by Juan

How about this one?

这个怎么样?

SELECT TO_CHAR(ASOFDATE, 'YYYY') FROM PSASOFDATE

回答by John Woo

just pass the columnName as parameter of YEAR

只需将 columnName 作为参数传递 YEAR

SELECT YEAR(ASOFDATE) from PSASOFDATE;

another is to use DATE_FORMAT

另一种是使用 DATE_FORMAT

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

UPDATE 1

更新 1

I bet the value is varchar with the format MM/dd/YYYY, it that's the case,

我敢打赌该值是格式为 MM/dd/YYYY 的 varchar,就是这种情况,

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

LAST RESORT if all the queries fail

LAST RESORT 如果所有查询都失败

use SUBSTRING

SUBSTRING

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