4

当我在 SQL 中创建日期类型时,结果会像这样2012-2-1 Monday 00:00:00

但是,我只想要年份。

我怎样才能得到这个?

4

5 回答 5

7

创建一个仅包含年份的数字字段,或使用 YEAR() 函数。

于 2012-07-26T06:32:00.510 回答
2

datetime,包括日期和时间,“日期”只包括日期格式。

select datepart(year,getdate())
于 2012-07-26T06:32:15.950 回答
2

您可以使用此查询来获取当前年份。

select year(now());
于 2016-01-02T05:56:53.720 回答
2

您可以使用以下内容吗?:

SELECT * 
FROM
table_name
WHERE CONVERT(DATE, column_name) >= '2017-01-01'
AND
CONVERT (DATE, column_name) <= '2017-03-31';

但是,您可能只需要使用CONVERT部分,因为上面的查询会为您获取 2 个特定日期之间的数据。

它应该只是导致问题的“ DATE ”部分,以及您插入数据的方式。如果您以 ' YYYY-MM-DD '格式插入日期,它应该可以正常工作。

于 2017-03-24T15:09:18.100 回答
0

不清楚,要不要只选择年份?
如果您使用的是 mysql,您可以执行类似的操作

SELECT DATE_FORMAT(<your field name>, '%Y') FROM <your table name> WHERE 1
于 2012-07-26T06:37:38.760 回答