Oracle数据库查询中如何忽略大小写

Pra*_*K Y 6 sql oracle case-sensitive

我有包含大写和小写字符的字符串,如何忽略大小写。

我尝试过 COLLET,UPPERCASE,LOWERCASE 它不起作用。还有其他方法可以忽略吗?

Rob*_*ock 5

尝试这个:

WHERE UPPER(myColumn) = UPPER(myValue)
Run Code Online (Sandbox Code Playgroud)

或者,当然:

WHERE LOWER(myColumn) = LOWER(myValue)
Run Code Online (Sandbox Code Playgroud)


Ark*_*icz 5

上部和下部方法都可以,但如果您正在寻找更复杂的方法,请尝试此方法。

create table table_test (a varchar2(100));

insert into table_test values( 'ABC');
insert into table_test values( 'abc');
insert into table_test values( 'AbC');

alter session set NLS_COMP=LINGUISTIC; 
-- how to compare string 
alter session set NLS_SORT=BINARY_AI;  --//or alter session set NLS_SORT=BINARY_CI;  
-- how to sort string  
-- the magic starts here 
    select * from table_test where a = 'ABC'
Run Code Online (Sandbox Code Playgroud)

以及不同排序和比较方法的完整描述: https://docs.oracle.com/cd/B28359_01/server.111/b28298/ch5lingsort.htm#CIHJBFAD