2
내가 열 이름뿐만 아니라 해당 열에서 데이터를 표시하려고 만하고있어 수 없습니다 다음 오류 때문에 :는 add 연산자에서 호환되지 않는
Msg 402, Level 16, State 1, Line 5
The data types xml and varchar are incompatible in the add operator.
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
XML이 구조화 된 데이터이고 평균 임의의 'VARCHAR'이 아니기 때문에 연결을 허용하지 않는 것이 중요합니다. 'dbo.GetXml'이 반환하는 것은 무엇이고 왜 당신은'Courier'과 같은 문자열을 붙들고 싶습니까? 또한 정확히 어떻게'CAST'와'CONVERT'를 사용하려고 시도 했습니까? –
'GetXml'이'XML' 데이터를 반환하면'+ 'Delivery'' 또는'+'Billing'' 등으로 연결 만 할 수 없습니다. 이것이 오류의 의미입니다. 'XML'은'XML'이고 ** ** 문자열 타입이 아닙니다! –
쿼리를 실행할 때 출력 창에 열 이름을 표시 할 수 있도록 문자열을 집어 넣으 려합니다. 나는이 사이트에서 권고 한 CAST (@a AS VARCHAR (max))를 사용하고있다 : http://sqlserverlearner.com/2012/the-data-types-varcharmax-and-xml-are-incompatible-in-the- add-operator –