Sql server 2005 如何从servlet执行区分大小写的select查询?
我正在尝试在SQL server上执行区分大小写的查询,但不知道任何解决方案 这取决于 您应该将列排序规则更改为区分大小写,如SQL\u Latin1\u General\u CP1\u CS\u AS 注: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才执行区分大小写
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,区分大小写也是默认值。