首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在SQL Server中执行不区分重音的比较(e withè,é,é和ë)?

如何在SQL Server中执行不区分重音的比较(e withè,é,é和ë)?
EN

Stack Overflow用户
提问于 2010-03-17 18:41:16
回答 2查看 90.4K关注 0票数 76

我正在寻找比较SQL中的两个Café,一个类似于Cafe,另一个varchars在SQL中有一种方法可以比较这两个值。例如:

代码语言:javascript
运行
复制
SELECT *
FROM Venue
WHERE Name Like '%cafe%'

那么,如果有一个名称为Big Bobs Café Extraordinaire的场所,它会包含在结果集中吗?

EN

回答 2

Stack Overflow用户

发布于 2010-03-17 18:44:31

通过将不区分重音的特定collation应用于select:

代码语言:javascript
运行
复制
SELECT * 
FROM Venue 
WHERE Name COLLATE Latin1_General_CI_AI Like '%cafe%' COLLATE Latin1_General_CI_AI

CI代表“不区分大小写”,AI代表“不区分重音”。

票数 51
EN

Stack Overflow用户

发布于 2017-09-22 13:12:01

可以使用Latin1_general_CI_AI执行区分重音和不区分重音搜索

这里的AI是不敏感的,AS是敏感的。例如,如果不敏感,和是一样的。

在下面的查询中,Latin1_general_CI_AI可以分为以下几个部分。

  • latin1使服务器使用字符集拉丁语1处理字符串,基本上是ascii.
  • CI指定不区分大小写,所以"ABC“等于"abc".
  • AI指定不区分重音,所以'ü‘等于’u‘。

您的查询应如下所示:

代码语言:javascript
运行
复制
SELECT * FROM Venue WHERE Name COLLATE Latin1_general_CI_AI Like '%cafe%' COLLATE Latin1_general_CI_AI

预期的结果如下:

代码语言:javascript
运行
复制
 Id  name
 1  Café
 2  Cafe
票数 9
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2461522

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档