2014-02-10 4 views
1

Я запускаю запрос только простого оператора Select, как я могу добавить (из запроса) значение в мой столбец int? Я пробовал следующее, но продолжаю получать эту ошибку: Msg 245, Level 16, State 1, Line 1 Ошибка синтаксиса, преобразующая значение varchar 'Month' в столбец типа данных int.Append String Value To Int Column

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

Спасибо @ Шива --- Это сработало отлично! – MasterOfStupidQuestions