我尝试显示列名称以及该列中的数据,但由于以下错误而无法显示:
消息 402,第 16 级,状态 1,第 5 行
数据类型 xml 和 varchar 在添加运算符中不兼容。
Convert
或 Cast
在这种情况下不起作用。
代码:
select
CUSTOMER_ID,
CURRENCY,
DELIVERY_METHOD,
CASE WHEN (COURIER_TRACKING_XML) IS NOT NULL
THEN dbo.GetXml(COURIER_TRACKING_XML) + 'Courier'
END,
CASE WHEN BILLING_ADDRESS IS NOT NULL
THEN dbo.GetXml(BILLING_ADDRESS) + 'Billing'
END,
CASE WHEN DELIVERY_ADDRESS IS NOT NULL
THEN dbo.GetXml(DELIVERY_ADDRESS) + 'Delivery'
END
from
WEB_ORDERS
使用
CONVERT(VARCHAR(MAX), col)
将 XML 值转换为 varchar。
CASE WHEN (COURIER_TRACKING_XML) IS NOT NULL
THEN CONVERT(VARCHAR(MAX),dbo.GetXml(COURIER_TRACKING_XML)) + 'Courier'