2014-02-10 164 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