SQL server 2005中XML数据类型列值的子字符串
我在SQL server 2005的数据库中有一个表。其中一列是XML数据类型的SQL server 2005中XML数据类型列值的子字符串,xml,sql-server-2005,substring,Xml,Sql Server 2005,Substring,我在SQL server 2005的数据库中有一个表。其中一列是XML数据类型的 <info>This is a sample information .Anyone can help </info> 这是一个示例信息。任何人都可以提供帮助 现在我想用列值的一部分作为响应查询表中的数据。 ie:我想要的输出是“这是一个样本” 问题应该是什么?子字符串抛出错误有两种方法: 1) 从XML中检索整个文本,然后让SQL从中获取子字符串: SELECT SUBSTRIN
<info>This is a sample information .Anyone can help </info>
这是一个示例信息。任何人都可以提供帮助
现在我想用列值的一部分作为响应查询表中的数据。
ie:我想要的输出是“这是一个样本”
问题应该是什么?子字符串抛出错误有两种方法: 1) 从XML中检索整个文本,然后让SQL从中获取子字符串:
SELECT SUBSTRING(tablename.columnname.value('(/info)[1]', 'varchar(max)'), 1, 17)
2) 让XQuery直接从XML文本中获取子字符串:
SELECT tablename.columnname.value('substring(string((/info)[1]), 1, 17)')
有两种方法可以做到这一点: 1) 从XML中检索整个文本,然后让SQL从中获取子字符串:
SELECT SUBSTRING(tablename.columnname.value('(/info)[1]', 'varchar(max)'), 1, 17)
2) 让XQuery直接从XML文本中获取子字符串:
SELECT tablename.columnname.value('substring(string((/info)[1]), 1, 17)')