如何使WHERE子句在oracle sql数据库中不区分大小写?

问题描述 投票:1回答:1
select * from table_Name where name ="red"

我需要同时获取“红色”和“红色”。

例如:我需要在同一条语句中同时使用upperlower

我该怎么做?

sql oracle oracle10g where-clause case-insensitive
1个回答
0
投票

您可以在会话'NLS_SORT=BINARY_CI'上使用不区分大小写参数。在会话级别有两个参数:

  • NLS_COMP
  • NLS_SORT

让我们看一个演示:

正常情况:

SQL> with names as
    (
     select 'Vishnu' name from dual
    )
    -- Your query starts here
    select * from names where name='vIsHnU';

no rows selected

不区分大小写的方法:

SQL> alter session set nls_comp='LINGUISTIC';

Session altered

SQL> alter session set nls_sort='BINARY_CI';

Session altered

SQL> with names as
    (
     select 'Vishnu' name from dual
    )
    -- Your query starts here
    select * from names where name='vIsHnU';

NAME  
------
Vishnu

现在,有一些方法可以改善上述交易的效果。请阅读Oracle – Case Insensitive Sorts & Compares

© www.soinside.com 2019 - 2024. All rights reserved.