为什么数据类型xml和varchar在add运算符中不兼容

问题描述 投票:0回答:1

我尝试显示列名称以及该列中的数据,但由于以下错误而无法显示:

消息 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
sql sql-server xml varchar
1个回答
0
投票

使用

CONVERT(VARCHAR(MAX), col)
将 XML 值转换为 varchar。

   CASE WHEN (COURIER_TRACKING_XML) IS NOT NULL 
          THEN CONVERT(VARCHAR(MAX),dbo.GetXml(COURIER_TRACKING_XML)) + 'Courier' 
© www.soinside.com 2019 - 2024. All rights reserved.