Cri*_*riu 11 sql collation sql-server-2008
我正在使用Sql server 2008 express版的网站搜索.
我有'Books'表,其中有一个名为'Title ' 的字段,其中有标题包含罗马尼亚语(拉丁语)字符.
好吧,如果用户在搜索字段中插入一个单词:'casa',我在db中有一个标题,如:' testcasătest ',我想显示那本书但是:
select * from books where title like '%casa%'
Run Code Online (Sandbox Code Playgroud)
找不到它......
你知道在做选择时删除变音符号的任何函数吗?
我知道我可以用sql server的全文搜索附加组件解决问题,但我想以更简单的方式做到这一点.
gbn*_*gbn 16
select * from books where title COLLATE Latin1_General_CI_AI like '%casa%'
Run Code Online (Sandbox Code Playgroud)
当然,您应该选择与您匹配的排序规则...只需将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%'
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4293 次 |
| 最近记录: |