【问题标题】:SQL Server - Searching string with international characters using LIKE clauseSQL Server - 使用 LIKE 子句搜索具有国际字符的字符串
【发布时间】:2011-02-05 09:30:50
【问题描述】:

我有一个“描述”字段,其中可以包含任何 unicode 字符的产品描述。 如果我搜索包含国际字符的描述,使用 LIKE 条件(搜索的单词没有国际字符),我会得到以下结果:

例如:GEWÜRZTRAMINER 是其中一种描述。 当我这样做时:

Select * from table where Description LIKE '%GEWURZTRAMINER%', it retrieves the entry.

当我这样做时:

Select * from table where Description LIKE '%GEWURZ%', the entry is not retrieved.

(注意:搜索条件不包括Ü但有一个U)

有没有办法让我也可以使用 '%GEWURZ%' 进行检索?

【问题讨论】:

  • 您使用的是哪种 SQL 变体?
  • 你从哪里获得资本ü?它不在我的瑞士德语键盘上
  • 我刚刚从我的数据库中复制了它
  • 使用Windows的德语键盘映射,我按shift-[键得到Ü

标签: sql sql-server tsql sql-server-2008 pattern-matching


【解决方案1】:

对于 bog 标准 varchar,您必须强制使用不区分重音的排序规则

Select 1 where 'GEWÜRZTRAMINER' COLLATE LATIN1_GENERAL_CI_AI LIKE '%GEWURZTRAMINER%'

对于您提供的 SQL,调用之间应该没有区别。

【讨论】:

    【解决方案2】:

    这将取决于列的排序顺序。如果您使用例如它应该可以工作SQL_Latin1_General_CP1_CI_AI

    【讨论】:

      猜你喜欢
      • 2013-03-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-12-24
      • 2013-07-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多