加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

sql搜索字段包含变音符号

发布时间:2020-12-12 08:40:03 所属栏目:MsSql教程 来源:网络整理
导读:我在使用Sql Server 2008 express版本的网站搜索工作. 我有“书”表,其中有一个名为“标题”的字段,其中包含罗马尼亚语(拉丁)字符的标题. 那么,如果用户在搜索字段中插入一个如’casa’这样的词,我在db中有一个标题:’testcas?test’我想显示那本书,但是: s
我在使用Sql Server 2008 express版本的网站搜索工作.

我有“书”表,其中有一个名为“标题”的字段,其中包含罗马尼亚语(拉丁)字符的标题.

那么,如果用户在搜索字段中插入一个如’casa’这样的词,我在db中有一个标题:’testcas?test’我想显示那本书,但是:

select * from books where title like '%casa%'

不会找到它…

你在做选择时是否知道任何消除变音符的功能?

我知道我可以用全文搜索sql server的附件解决问题,但是我想用一个简单的方法来做.

解决方法

select * from books where title COLLATE Latin1_General_CI_AI like '%casa%'

当然,你应该选择一个与你匹配的排序规则,只需将AS更改为AI,使其成为“重音不敏感”

与德国变音乐的快速例子

DECLARE @foo TABLE (bar varchar(100) /*implied COLLATE Latin1_General_CI_AS*/)

INSERT @foo VALUES ('xxx fish yyy')
INSERT @foo VALUES ('xxx bar yyy' )
INSERT @foo VALUES ('xxx b?r yyy')

select * from @foo where bar COLLATE Latin1_General_CI_AI like '%bar%'
select * from @foo where bar like '%bar%'

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读