SQL - 从DateTime字段中仅选择“Year”

时间:2015-10-03 15:23:59

标签: sql select sql-server-2012

我的数据库是SQL Server 2012.我尝试仅选择我的datetime提交的年份。日期格式为dd / mm / yyyy 00:00:00。 这是我的疑问:

SELECT 
       ,YEAR(DateTime)
FROM MayTable

但是当我运行查询时出现此错误:

  

从字符转换日期和/或时间时转换失败   字符串。

2 个答案:

答案 0 :(得分:3)

您应该首先将此信息存储在适当数据类型的列中。

但如果我理解你的评论,那么这不是你自己设计的表格。你可以使用

SELECT CAST(SUBSTRING(DateTime, 7, 4) AS INT)
FROM   MyTable; 

或者

SET DATEFORMAT DMY;

SELECT YEAR(DateTime)
FROM   MyTable; 

答案 1 :(得分:1)

从DateTime数据类型中选择年份的另一个过程是

select datepart(yyyy,ColumnName) from table

了解更多详情,请访问此页面 link