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

时间:2020-03-05 18:55:49  来源:igfitidea点击:

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

解决方案

回答

google指向MSDN页面的第一个链接:

包含功能(XQuery)

In order to get case-insensitive
  comparisons, the upper-case or
  lower-case functions can be used.

回答

如果我们使用的是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