SQL - 从 DateTime 字段中仅选择 'Year'

标签 sql select sql-server-2012

我的数据库是 SQL Server 2012。我尝试只从我提交的日期时间中选择年份。日期格式为 dd/mm/yyyy 00:00:00。 这是我的查询:

SELECT 
       ,YEAR(DateTime)
FROM MayTable

但是当我运行我的查询时,我得到这个错误:

Conversion failed when converting date and/or time from character string.

最佳答案

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

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

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

或者

SET DATEFORMAT DMY;

SELECT YEAR(DateTime)
FROM   MyTable; 

关于SQL - 从 DateTime 字段中仅选择 'Year',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32924209/

相关文章:

mysql - 如何查找与全部或部分输入完全匹配的字符串

html - 选择标签的标签标签有什么意义?

javascript - JQuery 附加一个下拉选项,将空格缩减为一个

iphone - 如何在 iphone .plist 文件中选择多行?

sql-server-2012 - 临时数据库使用 SQL Server 2012

java - JDBC SQL - 如何分解一系列值,例如保存001-保存100?

c# - 将查询结果放入变量中,然后将其传递给命令

sql - 是否可以在不依赖游标和 ID 的情况下找到特定条目前 3 个条目的条目?

mysql - 三个表连接和计数显示错误结果

SSIS Foreach循环,如果不存在文件则发送电子邮件?