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

Sql server 2005 如何从servlet执行区分大小写的select查询?,sql-server-2005,Sql Server 2005,我正在尝试在SQL server上执行区分大小写的查询,但不知道任何解决方案 这取决于 您应该将列排序规则更改为区分大小写,如SQL\u Latin1\u General\u CP1\u CS\u AS 注:CS表示区分大小写,CI-不区分大小写) 这取决于 您应该将列排序规则更改为区分大小写,如SQL\u Latin1\u General\u CP1\u CS\u AS 注:CS表示区分大小写,CI-不区分大小写)。我曾经对此做过一些小研究。默认情况下,似乎只有Postgres才执行区分大小写

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

这取决于

您应该将列排序规则更改为区分大小写,如SQL\u Latin1\u General\u CP1\u CS\u AS

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

这取决于

您应该将列排序规则更改为区分大小写,如SQL\u Latin1\u General\u CP1\u CS\u AS


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

我曾经对此做过一些小研究。默认情况下,似乎只有Postgres才执行区分大小写的查询。 有几种方法可以做到这一点

区分大小写的sql查询:和

调整整个数据库的大小写敏感度:


还可以调整某个列的大小写敏感度。

我曾经对此做过一些小研究。默认情况下,似乎只有Postgres才执行区分大小写的查询。 有几种方法可以做到这一点

区分大小写的sql查询:和

调整整个数据库的大小写敏感度:


还可以调整特定列的大小写敏感度。

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

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

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

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

对于ORACLE,区分大小写也是默认值。对于ORACLE,区分大小写也是默认值。