2011-08-02 58 views
0

Oracle新手在这里:Oracle 10G不区分大小写的列

我刚开始创建我的第一个Oracle数据库表。 我已经下载了Oracle 10g快捷版

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

您可以上(或下)尝试:

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

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

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