SQL, присвоение результата Concat_WS переменной
CREATE TABLE #AnswersList(
alID INTEGER IDENTITY(1,1),
Answer varchar(400),
Question varchar(1000)
)
--Часть кода где я заполняю таблицу я пропущу, дабы не загромождать
DECLARE @i INT, @value varchar(5000)
SET @i = 0;
SET @value = '';
SET @value = CONCAT_WS(':',@value,(SELECT Answer FROM #AnswersList WHERE alID = 1), ' / ' ,(SELECT Question FROM #AnswersList WHERE alID = 1));
SELECT @value AS Result
Вот что получается в итоге: :???????? (?????????? ????????/???????? ??????????): / :1. ????????? (??????????) ???????/???????:
При этом если я пишу следующее:
SELECT CONCAT_WS(':',@value,(SELECT Answer FROM #AnswersList WHERE alID = 1), ' / ' ,(SELECT Question FROM #AnswersList WHERE alID = 1))
То все ок и выводит текст, который мне нужен. Вообще я тут делаю цикл в котором каждый раз дополняю строку @value новыми значениями из таблицы #AnswersList, делая конкатенацию текущего значения value с следующей комбинацией Answer и Question.
Подскажите, почему когда я присваиваю переменной результат конкатенации, у меня выводит знаки вопроса? мб что-то не так с самим типом данных, которые возвращает конкатенация и типом данных переменной?