Пример запроса:
DECLARE @idName INT
SET @someColumn = 7
DECLARE @s VARCHAR(MAX)
SET @s = ''
SELECT @s = @s + CASE WHEN @s <> '' THEN ', ' ELSE '' END + CAST(myColumn AS VARCHAR)
FROM t1
WHERE someColumn = @someColumn
SELECT @s AS ResultList
Пример запроса:
DECLARE @idName INT
SET @someColumn = 7
DECLARE @s VARCHAR(MAX)
SET @s = ''
SELECT @s = @s + CASE WHEN @s <> '' THEN ', ' ELSE '' END + CAST(myColumn AS VARCHAR)
FROM t1
WHERE someColumn = @someColumn
SELECT @s AS ResultList
Более-менее рабочий пример, чтоб например 4.5 не превратилось в 5
DECLARE @tmp_cnt Numeric (18,10) DECLARE @tmp_uet Numeric (18,10) … @tmp_cnt = 1.0 @tmp_uet = 4.5 … CAST ( @tmp_cnt * @tmp_uet AS Numeric(18,10))
Всё работает из-за (18,10) (precision, scale)
Ещё подробности здесь: