![](/img/trans.png)
[英]Select xml tags from nvarchar datatype column in SQL Server
[英]Export value from nvarchar datatype column that saved like xml format
我想从以 xml 格式保存的nvarchar
数据类型列中导出值。
nvarchar
列值如下所示:
<TablePhoneHome><Number Num="1111"/></TablePhoneHome>
我想从中导出1111
谢谢
如果数据是XML,那么您实际上应该使用xml
数据类型,那么这是微不足道的。 我在这里使用CONVERT
,但是您应该真正修复表中的数据类型。
CONVERT(xml, YourColumn).value('(TablePhoneHome/Number/@Num)[1]','int')
就像我说的那样,实际上您应该更改表的列数据类型:
CREATE TABLE YourTable (YourColumn nvarchar(MAX));
INSERT INTO YourTable
VALUES('<TablePhoneHome><Number Num="1111"/></TablePhoneHome>');
ALTER TABLE YourTable ALTER COLUMN YourColumn xml;
SELECT YourColumn.value('(TablePhoneHome/Number/@Num)[1]','int') AS Num
FROM YourTable;
如果所有值都是相同的xml格式,请与sql-server
replace
函数一起使用。 尝试这个:
select REPLACE(REPLACE('<TablePhoneHome><Number Num="1111"/></TablePhoneHome>','<TablePhoneHome><Number Num="' ,'') ,'"/></TablePhoneHome>','')
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.