2016-04-20 107 views
-2

這裏是我的查詢的SQL Server:日期時間錯誤

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
算術溢出錯誤將表達式轉換到數據類型的日期時間。

你能指導我糾正它嗎?

+5

什麼是數據類型和Date_Last_Updated的值柱? –

+0

Date_Last_Updated是DATETIME – ion

+0

在分組中使用日期列的優點是什麼?你想按日期分組數據嗎? – Aditya

回答

0

這是一個評論有點太長了......

你能嘗試:

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就像你說的,那是。)