MS Azure DB:找不到数据类型XML& “身份”

时间:2016-12-07 16:26:22

标签: sql-server xml azure sql-server-2016

我试图将数据类型更改为XML,以便将一列拆分为多列。但是,当我运行下面的语法时,显示错误:无法找到数据类型XML 。我在网上搜索了一些答案。似乎Azure支持XML。有办法解决吗?

cast('<m>'+replace(Employee_Name,@delimiter,'</m><m>')+'</m>' as XML)

此外,我发现也不支持 IDENTITY(1,1)

2 个答案:

答案 0 :(得分:1)

对于SQL-Server 2016,本机支持:STRING_SPLIT()-function。但是 - 根据链接的doumentation - 这似乎不适用于 Azure数据仓库 ......

通过XML进行字符串拆分需要XML-DataType,因为您需要.nodes().value()来检索值。根据{{​​3}}, Azure数据库支持此功能,不知道数据仓库版本的限制......

使用循环或递归CTE的字符串拆分函数有很多例子。 this documentation比较其中一些......

答案 1 :(得分:0)

当您尝试在登录Microsoft Azure SQL数据仓库时运行查询强制转换为XML时,会发生此错误。 Azure SQL数据仓库不支持XML数据类型。您可以使用以下sql确认您的版本:

选择@@ version

https://docs.microsoft.com/en-us/azure/sql-data-warehouse/sql-data-warehouse-tables-data-types