如何使用 Sql Server XQuery 搜索不区分大小写的单词?

Posted

技术标签:

【中文标题】如何使用 Sql Server XQuery 搜索不区分大小写的单词?【英文标题】:How can i search a non case sensitive word with Sql Server XQuery? 【发布时间】:2010-09-09 11:14:18 【问题描述】:

我在我的 Sql Server 数据库表中使用了一个 Xml 字段。我正在尝试使用 XQuery contains 方法搜索一个单词,但它似乎在区分大小写的模式下搜索 only。 lower 方法也没有在 Sql Server XQuery 实现上实现。 ¿ 这个问题有简单的解决方案吗?

【问题讨论】:

【参考方案1】:

如果您使用的是 SQL Server 2005,恐怕您运气不好。

如果您使用的是 SQL Server 2008,则可以像这样使用大写函数:

DECLARE @x xml = N'abcDEF!@4';
SELECT @x.value('fn:upper-case(/text()[1])', 'nvarchar(10)');

这是 MSDN 上的大写语法链接和几个搜索示例:

http://msdn.microsoft.com/en-us/library/cc645590.aspx

【讨论】:

【参考方案2】:

First 来自 google 的链接指向 MSDN 页面:

contains Function (XQuery)

为了不区分大小写 比较,upper-case 或 可以使用小写函数。

【讨论】:

以上是关于如何使用 Sql Server XQuery 搜索不区分大小写的单词?的主要内容,如果未能解决你的问题,请参考以下文章

SQL Server 中的 XQuery 对零值进行 SUM

如何在 MS SQL 2005 中使用 SQL XQuery 修改多个节点

如何优化“XQuery”SQL

sql 2005数据库 如何操作xml

XQUERY SQL - 如何将单个节点元素作为变量传递?

我可以在 Marklogic Server 的 xquery 中声明一个全局变量吗?