Oracle 10G不区分大小写的列

时间:2011-08-02 06:53:24

标签: sql oracle10g case-sensitive

Oracle新手在这里:

我刚开始创建我的第一个Oracle数据库表。 我已经下载了Oracle 10G Express Edition

CREATE TABLE  "EMPLOYEE_INFO" 
(   "ID" NUMBER(5,0) NOT NULL ENABLE, 
"FIRST_NAME" VARCHAR2(50), 
"LAST_NAME" VARCHAR2(50), 
"SEX" VARCHAR2(1), 
"BIRTHDAY" DATE, 
 CONSTRAINT "EMPLOYEE_INFO" PRIMARY KEY ("ID") ENABLE
)

有没有办法让表格“不区分大小写”? 我注意到当你在SEX ='m'和。列中插入数据时 我执行查询,如

select * from
EMPLOYEE_INFO where
sex = 'M';

这不会返回任何数据。

很抱歉,如果我的问题非常简单,那是我第一次使用Oracle DB。 感谢

1 个答案:

答案 0 :(得分:1)

你可以尝试上(或下):

Select *
from employee_info
where upper(sex)='M'

但要小心,如果你有性指数,你就会失去它!如果您的性别列是混合大小写并且您需要一个函数,则可以在UPPER(SEX)或LOWER(SEX)上创建基于函数的索引。 如果'M'也可以是小写,你也需要添加上限:

Select *
from employee_info
 where upper(sex)=upper(:parameter)