Sql server 解析sql中的nvarchar(max)数据字段
我有一个类似“marketplace-used-new-ebook-rental\u new-rental\u used”的字段,其中“rental\u new”是一个整体,等等。这是sting中所有可能的元素,但它们可以是任意顺序,并包含一个或多个片段。我如何将其分解,以便解释所有不同的组合?我也无法在此数据库上创建函数 你真的有三个选择 在应用层做这些工作 写一个游标来完成它 使用XML来实现这一点 下面的示例是针对XML的 注意:只有在可以保证输入字符串不包含任何XML字符的情况下,才能使用XML。一个带或&的字符串,查询将失败Sql server 解析sql中的nvarchar(max)数据字段,sql-server,tsql,split,Sql Server,Tsql,Split,我有一个类似“marketplace-used-new-ebook-rental\u new-rental\u used”的字段,其中“rental\u new”是一个整体,等等。这是sting中所有可能的元素,但它们可以是任意顺序,并包含一个或多个片段。我如何将其分解,以便解释所有不同的组合?我也无法在此数据库上创建函数 你真的有三个选择 在应用层做这些工作 写一个游标来完成它 使用XML来实现这一点 下面的示例是针对XML的 注意:只有在可以保证输入字符串不包含任何XML字符的情况下,才能使
SELECT distinct a.split_me
FROM
(
SELECT cast('<X>'+replace('marketplace-used-new-ebook-rental_new-
rental_used','-','</X><X>')+'</X>' as XML) as xml_convert
)xml_data
CROSS APPLY
(
SELECT fdata.D.value('.','nvarchar(50)') as split_me
FROM xml_data.xml_convert.nodes('X') as fdata(D)
) a
SQL server 2016有一个内置的功能来分解数据,但在此之前,它是这三个选项之一 sql的供应商和版本是什么?SSMS 2014 sql版本12.0。