1

我在 SQL Server 2005 的数据库中有一个表。其中一列是 XML 数据类型。列的内容就像

   <info>This is a sample information .Anyone can help </info>

现在我想用列值的一部分作为响应来查询表中的数据。即:我想要的输出是“这是一个样本”

应该是什么查询?子字符串抛出错误

4

1 回答 1

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)')
于 2009-08-14T21:29:54.150 回答