ORACLE自增函式,一般函式

2022-05-01 07:03:10 字數 1882 閱讀 8691

1.oracle先建立函式方法,再直接使用,mysql直接使用方法unix_timestamp,from_unixtime

oracle_to_unix(create_date)

create

orreplace

function oracle_to_unix(in_date in date) return

number

isbegin

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

orreplace

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)

ascreate_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

mysql:

select * from tbl limit 100;

oracle:

select * from tbl where rownum<=100;

sql server:

select top 100 * from tbl

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不同。

oracle:sysdate  加括號容易出現錯誤:缺少逗號

mysql:sysdate()

mysql實現自增函式

這兩天在思考怎麼生成資料庫隨機名稱,思前想後覺得還是利用自增的邏輯主鍵是最方便快捷的,於是便嘗試著獲取一種自增的mysql函式 自增mysql函式 1 begin 2 declare id int default 0 3 select cuid 1 into id from uc gen numbe...

MySQL 實現自增函式sequence

當前資料庫為 mysql 由於mysql和oracle不太一樣,不支援直接的sequence,所以需要建立一張table來模擬sequence的功能,理由sql語句如下 create table sequence name varchar 50 collate utf8 bin not null c...

建構函式和一般函式

建構函式 構建創造物件時呼叫的函式,作用 可以給物件進行初始化。建立物件都必須要通過建構函式初始化。如果乙個類中沒有定義建構函式,那麼該類中就會有乙個預設的無參建構函式。如果在類中定義了指定的建構函式,那麼類中的預設建構函式就沒有了。建構函式和一般函式有什麼區別呢?建構函式 物件建立時,就會呼叫與之...