如何从servlet执行区分大小写的select查询?

时间:2011-01-03 14:52:10

标签: sql-server-2005

我正在尝试在SQL服务器上执行区分大小写的查询,但不知道任何解决方案?

3 个答案:

答案 0 :(得分:2)

  

取决于column collation

您应该将列排序规则更改为区分大小写,例如SQL_Latin1_General_CP1_CS_AS。

注意:CS表示区分大小写,CI - 不区分大小写。)

答案 1 :(得分:1)

我曾对此进行过一些细微的研究。默认情况下,只有Postgres似乎会执行区分大小写的查询。 有几种方法可以解决这个问题。

区分大小写的SQL查询:http://dotnetslackers.com/SQL/re-61758_Case_Sensitive_or_Insensitive_SQL_Query.aspxhttp://www.mssqltips.com/tip.asp?tip=1032

调整整个数据库的区分大小写:http://web.archive.org/web/20080811231016/http://sqlserver2000.databases.aspfaq.com:80/how-can-i-make-my-sql-queries-case-sensitive.html

也可以调整某列的区分大小写。

答案 2 :(得分:1)

不,您不需要更改数据库架构。您可以动态应用更改:

create table collate_test(
val varchar(50) collate SQL_Latin1_General_CP1_CI_AS
)
go

insert into collate_test values( 'abc');
insert into collate_test values( 'ABC');

select * from collate_test where val = 'abc';

select * from collate_test where val COLLATE SQL_Latin1_General_CP1_CS_AS  = 'abc';

select * from collate_test where val COLLATE SQL_Latin1_General_CP1_CS_AS  = 'ABC';
GO