SQL LIKE带有特殊字符

时间:2010-07-18 08:41:57

标签: sql sql-server sql-server-2008

如果我尝试使用特殊(北欧)字符创建一个选择,如:

Select * from users where name like '%æ%'

它只选择所有用户而不是那些包含字母'æ'的用户。

我是否需要在数据库中安装一些特殊的驱动程序,还是有其他我错过的东西?

更新:
我使用的是SQL Server 2008数据库,排序规则设置为“SQL_Latin1_General_CP1_CI_AS”,数据字段是可以为空的nVarChar数据类型。

3 个答案:

答案 0 :(得分:4)

很可能是某些排序规则或数据类型问题

示例,给出97和230

SELECT ASCII('æ' COLLATE Albanian_CI_AI), ASCII('æ' COLLATE Latin1_General_CI_AS) 

我们基本上需要更多信息。

编辑:Question about Danish/Norwegian å(虽然尚未解决)

编辑2:如果name为nvarchar,则将代码更改为this,因此文字也变为unicode。

Select * from users where name like N'%æ%'

答案 1 :(得分:0)

确保使用扩展字符集(UTF-8),你应该没问题。

答案 2 :(得分:0)

它应该正常工作..
但试试这个Select * from users where name like '%[æ]%'