2016-02-11 4 views
0

Я довольно широко просматривал в Интернете, но не смог найти. У меня есть запрос, который я пытаюсь написать, который передает значения в таблицу html для вывода электронной почты. Для одного из столбцов я хочу передать ссылку. Есть ли способ сделать это? Я в настоящее время получаю сообщение об ошибке "Conversion failed when converting the varchar value '<a href="http://testServer/webnow/index.jsp?action=filter&username=anonymous&drawer=AP-General&folder=' to data type int."Есть ли способ передать ссылку html с помощью запроса TSQL?

См. Фрагмент кода ниже.

SET @Body = COALESCE(@Body + '', '') + 
    CAST((SELECT DISTINCT Api.GLAccountID, 
     api.CostCenterNumber, 
     api.VendorNumber, 
     --SPECIFICALLY THIS LINE... 
     '<a href="http://testServer/webnow/index.jsp?action=filter&username=anonymous&drawer=AP-General&folder=' + v.VendorID + '&tab=' + api.Invoice + '">' + api.Invoice + '</a>' 
    FROM dummytable api 
    FOR XML RAW('TR'), ELEMENTS) AS NVARCHAR(MAX)) + '</TABLE>' 
+3

Общей ошибке. Преобразуйте INT в varchar при их использовании для построения строки. –

ответ

0

Я предполагаю, что значение v.VendorID имеет тип INT. Если посмотреть на другие поля (v.VendorID и т. Д.), Они также могут быть типа INT или NUMERIC, поэтому я также сделал их как VARCHAR, вы можете поиграть с размером данных.

Это должно помочь:

SET @Body = COALESCE(@Body + '', '') + 
    CAST((SELECT DISTINCT Api.GLAccountID, 
     api.CostCenterNumber, 
     api.VendorNumber, 
     --SPECIFICALLY THIS LINE... 
     '<a href="http://testServer/webnow/index.jsp?action=filter&username=anonymous&drawer=AP-General&folder=' + CAST(v.VendorID AS VARCHAR(50)) + '&tab=' + CAST(api.Invoice AS VARCHAR(50)) + '">' + CAST(api.Invoice AS VARCHAR(50)) + '</a>' 
    FROM dummytable api 
    FOR XML RAW('TR'), ELEMENTS) AS NVARCHAR(MAX)) + '</TABLE>' 
Смежные вопросы