【发布时间】:2014-07-08 04:00:50
【问题描述】:
我正在处理一个项目,需要一些帮助才能使这个 XML 查询正常工作。我正在尝试在 SQL 中将下面的 XML 查询为带有公司值的新列“公司”。
列名是CustomData,并且是varchar(3000),所以看起来需要将其转换为XML,除非有其他方法可以做到这一点。
<?xml version="1.0" encoding="UTF-8"?>
<ArrayOfCustomData xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<CustomData name="Company" value="WT001" />
<CustomData name="Location" value="123456" />
<CustomData name="DealerCode" value="WT" />
<CustomData name="Domain" value="WT" />
<CustomData name="Region" value="1234" />
</ArrayOfCustomData>
这是我正在使用的 SQL 代码。
select CustomData.value('(/ArrayOfCustomData/CustomData name="Company")[1]','varchar(30)') as Company
from tbl_User_Ref
我得到这个错误:
“找不到列“CustomData”或用户定义的函数或聚合“CustomData.value”,或者名称不明确。”
感谢任何帮助。
谢谢!
【问题讨论】:
-
这对您来说可能很明显,但是您希望它如何找到“CustomData”列?列中的 XML sn-p 是这样命名的吗?
-
是的,这也是列的名称。