2014-02-10 216 views
1

我正在運行查詢只是一個簡單的選擇語句,我如何追加(從查詢中)一個值到我的int列?我嘗試了下面的內容,但不斷收到此錯誤: Msg 245,Level 16,State 1,Line 1 將varchar值'Month'轉換爲數據類型爲int的列的語法錯誤。將字符串值附加到Int列

SELECT a.Sales, SUM(a.Count) As Count, CONVERT(INT, 'Month ') + dt.CumulativeMonth 
FROM Rep a 
INNER JOIN Date dt 
ON a.Date = dt.FD 
GROUP BY dt.CumulativeMonth, a.Sales 
+2

加數/數學優先於字符串連接。爲了讓SQL Server清楚你想加入字符串,而不是添加,你應該將月份轉換爲一個字符串,例如。 'CONVERT(VARCHAR(2),dt.CumulativeMonth)'。不知道你爲什麼試圖將「月」轉換爲整數。這是如何工作的? –

+0

我只是想將文本月份附加到數字月份值的開頭。我不能修改表,所以我認爲我只是從Select語句中完成它。 – MasterOfStupidQuestions

+0

你是說pre-pend? – Shiva

回答

3

你在這裏。

SELECT a.Sales, SUM(a.Count) As Count, 'Month ' + CONVERT(VARCHAR(20), dt.CumulativeMonth) 
FROM Rep a 
INNER JOIN Date dt 
ON a.Date = dt.FD 
GROUP BY dt.CumulativeMonth, a.Sales 
+0

謝謝@Shiva ---完美的工作! – MasterOfStupidQuestions