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()