我在SQL server 2005的数据库中有一个表。该列的一个是XML数据类型。列的内容就像
<info>This is a sample information .Anyone can help </info>
现在我想查询表中的数据,并将列值的一部分作为响应。 即:我想要的输出是“这是一个样本”
查询应该是什么?子串正在抛出错误
答案 0 :(得分:1)
有两种方法可以做到:
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)')