1.常用的基本数据类型
(1)数值类型
mysql:int、double
oracle :oracle中数值类型没有具体区分,统一使用number类型(()
(2)字符串类型
mysql:常用varchar
oracle:有vachar和varchar2,但常用varchar2;
(3)日期类数据类型
mysql:常用date、time、datetime
date:只包含年、月、日
time:只包含时、分、秒
datetime:包含年、月、日 时、分、秒
注 :mysql中,日期类数据类型可以直接与字符串类型比较,但在oracle不可以。
如上所示,mysql中日期类可以直接与字符串类日期比较;
而在oracle中,如果直接把日期类型的数据与字符串类型的日期比较就会报错。
这时需要用to_date()进行转换,把字符串类型的日期转成日期类型的日期。
select * from client_info ci where ci.birth=to_date('1994/08/24','yyyy/mm/dd');
2.对于字段的内容的引用
mysql中使用单引号或者双引号都可以:
--mysql
select * from client_info where client_no='C0000002';
select * from client_info where client_no="C0000002";
oracle只能用单引号:
--oracle
select * from client_info where client_no='C0000002';
2.字段内容的大小写
mysql中是不区分大小写,而在oracle中严格区分大小写
/*
* oracle里,查询每个字段,必须大小写完全相同,否则查不到 数据
*
*/
select * from client_info ci where ci.client_no='C0022900';
/*
* mysql里不限制字段内容的大小写
*/
select * from client_info ci where ci.client_no='C0022900';--大写的C
select * from client_info ci where ci.client_no='c0022900';--小写的c
3.分页
mysql分页比较简单,直接使用limit就可以分页;
select * from t_employees limit 5,8 ;
oracle分页,使用rownum给结果集加上序号,通过rownum<n 就行筛选。oracle的分页比较特殊,不能直接使用n<rownum<m 这种方式进行分页,因为它的rownum是动态的,具体可以百度rownum的用法
select t.client_no,
t.client_name,
t.sex,
t.idtype,
t.idno,
t.nation_code,
t.birth
from (select t1.*, rownum rw
from (select * from client_info ci order by ci.birth desc) t1
where rownum <= 100) t
where t.rw >= 90;