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.

Подскажите, почему когда я присваиваю переменной результат конкатенации, у меня выводит знаки вопроса? мб что-то не так с самим типом данных, которые возвращает конкатенация и типом данных переменной?


Ответы (0 шт):