您的位置:首页 > 数据库 > Oracle

ORACLE 函数 随机生成手机号,时间

2016-07-29 16:18 603 查看
随机生成时间

create or replace function getRoundDate(begindate in varchar2,enddate in varchar2)

return date

is

v_date date;

v_b varchar2(8);

v_e varchar2(8);

begin

v_b:=begindate;

v_e:=enddate;

SELECT to_date(TRUNC(DBMS_RANDOM.VALUE(

to_number(to_char(to_date(v_b,'yyyymmdd'),'J')),

to_number(to_char(to_date(v_e,'yyyymmdd')+1,'J')))),'J')+

DBMS_RANDOM.VALUE(1,3600)/3600

into v_date

FROM dual;

return v_date;

end;

随机生成手机号码

create or replace function my_mobile_num

return varchar2

is

v_mobile varchar2(50);

TYPE segnum IS VARRAY (35) OF VARCHAR2 (3);

segnum_set segnum := segnum ('133',

'153',

'180',

'181',

'189',

'177',

'130',

'131',

'132',

'155',

'156',

'145',

'185',

'186',

'176',

'134',

'135',

'136',

'137',

'138',

'139',

'150',

'151',

'152',

'158',

'159',

'182',

'183',

'184',

'157',

'187',

'188',

'147',

'178',

'170');

v_name1 nvarchar2(20);

v_name2 nvarchar2(20);

v_name3 nvarchar2(20);

begin

select segnum_set(trunc(dbms_random.value(1,35))) into v_name1 from dual;

select substr(cast(dbms_random.value as varchar2(38)),3,4) into v_name2 from dual;

select substr(cast(dbms_random.value as varchar2(38)),3,4) into v_name3 from dual ;

v_mobile:=v_name1||v_name2||v_name3;

return v_mobile;

end;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: