ORACLE自增函数,一般函数
1.UNIX时间与普通时间互相转换
1.ORACLE先创建函数方法,再直接使用,MySQL直接使用方法UNIX_TIMESTAMP,FROM_UNIXTIME
oracle_to_unix(create_date)
create or replace function oracle_to_unix(in_date in date) return number is begin return((in_date - to_date('19700101', 'yyyymmdd')) * 86400 - to_number(substr(tz_offset(sessiontimezone), 1, 3)) * 3600); end oracle_to_unix;
unix_to_oracle(create_date)
create or replace function unix_to_oracle(in_number number) return date is begin return (to_date('19700101','yyyymmdd') + in_number/86400 + to_number(substr(tz_offset(sessiontimezone),1,3))/24); end unix_to_oracle;
Exp:
SELECT * FROM (SELECT mobile, /*UNIX_TIMESTAMP(create_date) as create_date,*/ /*to_timestamp(create_date, 'yyyy-mm-dd hh24:mi:ss') as create_date,*/ /*to_timestamp(create_date) as create_date,*/ oracle_to_unix(create_date) as create_date, code, code_status, uuid /*top (1)*/ FROM R_CHECK_CODE WHERE code_status = '0' and mobile = '138******' /*and rownum<=1*/ order by create_date desc) s where rownum <= 1
2.显示数据数量限制
MYSQL:
select * from tbl limit 100;
ORACLE:
select * from tbl where rownum<=100;
SQL SERVER:
select top 100 * from tbl
3.小数取整
ORACLE:取整函数trunc():
trunc(12.354),返回值12
trunc(12.354,1),返回值12.3
trunc(12.354,-1),返回值10
MYSQL:数值处理函数floor与round
floor:函数只返回整数部分,小数部分舍弃。
round:函数四舍五入,大于0.5的部分进位,不到则舍弃。与floor不同。
4.获取当前时间
ORACLE:sysdate 加括号容易出现错误:缺少逗号
MySQL:sysdate()