【问题标题】:SQL Server: datetime errorSQL Server:日期时间错误
【发布时间】:2016-04-20 12:14:40
【问题描述】:

这是我的查询

SELECT 
    CRS, Total_Balance,
    Subcategory,
    Date_Last_Updated,
    DATEPART(YEAR, Date_Last_Updated) AS Expr1
FROM 
    dbo.Transfer_Final_Accounts_CO_SH
GROUP BY 
    CRS, Total_Balance, Subcategory,
    Date_Last_Updated, DATEPART(YEAR, Date_Last_Updated)
HAVING 
    (Subcategory = 'Transfer to Workout')
    AND (DATEPART(YEAR, Date_Last_Updated) = 2016);

这是错误信息:

消息 8115,第 16 级,状态 2,第 1 行
将表达式转换为数据类型 datetime 时出现算术溢出错误。

你能指导我纠正它吗?

【问题讨论】:

标签: sql sql-server datetime


【解决方案1】:

评论有点太长了……

你可以试试:

SELECT    DISTINCT CRS
,         Total_Balance
,         Subcategory
,         Date_Last_Updated
,         YEAR(Date_Last_Updated) AS Expr1
FROM      dbo.Transfer_Final_Accounts_CO_SH
WHERE     Subcategory = 'Transfer to Workout'
    AND   YEAR(Date_Last_Updated) = 2016;

您正在使用没有聚合的group by。在这种情况下,最好使用distinct

话虽如此,我仍然无法确定您的错误源自何处...(如果 Date_Last_Updated 确实是datetime,如您所说。)

【讨论】:

    猜你喜欢
    • 2012-12-01
    • 2017-01-11
    • 2017-11-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-10-16
    相关资源
    最近更新 更多