怎么随机去一个月中的某个时段?
比如 2008-7
随机取出来的就像 2008-7-7 13:44:24 ——13:55:46
比如 2008-7
随机取出来的就像 2008-7-7 13:44:24 ——13:55:46
解决方案 »
- 【PL/SQL应用求助】关于PL/SQL语句查询中如何SUM合并重复行为一行的问题?
- 统计人数
- 如何添加数据文件
- 我用VC写ORACLE数据库时,为什么程序崩溃但数据却写进去了呢?
- 求某日期之后
- 从某种意义上来说,数据库具备增删改查的功能一般应用其实就足够用了,不知有人认同我的观点不?
- 知道substr的大哥们进来!!!!!!!
- 新手向各位大虾求救:启动oracle 8.1.5的server manager的问题
- oracle表的主键为什么不能用Number类型?
- oracle connect by,大表执行不成功,小表执行成功
- ORACLE数据库中大数据量操作那种更好
- 大数据量连表查询的性能问题
create table t_charge (
cid NUMBER not null,
cstart VARCHAR2(60),
cend VARCHAR2(60),
ctotal NUMBER,
cnumber VARCHAR2(60),
constraint PK_T_CHARGE primary key (cid)
);comment on table t_charge is
'话费表';comment on column t_charge.cid is
'话费编号';comment on column t_charge.cstart is
'通话开始时间';comment on column t_charge.cend is
'通话结束时间';comment on column t_charge.ctotal is
'话费统计';comment on column t_charge.cnumber is
'所属号码';
round(dbms_random.value(a.minhour,a.maxhour))||':'||
round(dbms_random.value(a.minm,a.maxm))||':'||
round(dbms_random.value(a.mins,a.maxs))
from(
select to_char(last_day(to_date('200807','yyyy/mm')),'dd') maxday,
'01' minday,
'01' minhour,
'12' maxhour,
'01' minm,
'59' maxm,
'01' mins,
'59' maxs
from dual) a
a.days
+ DECODE (b.t_1,
b.t_2, LEAST (b.t_1, b.t_2) + 0.00001,
GREATEST (b.t_1, b.t_2)
)
FROM (SELECT TO_DATE (:s_day, 'yyyy-mm')
+ ROUND
(DBMS_RANDOM.VALUE
(1,
TO_NUMBER (TO_CHAR (LAST_DAY (TO_DATE (:s_day,
'yyyy-mm'
)
),
'dd'
)
)
)
) days
FROM DUAL) a,
(SELECT ROUND (DBMS_RANDOM.VALUE (0, 1), 5) t_1,
ROUND (DBMS_RANDOM.VALUE (0, 1), 5) t_2
FROM DUAL) b
SELECT TO_DATE (:s_day, 'yyyy-mm') + LEAST (b.t_1, b.t_2),
TO_DATE (:s_day, 'yyyy-mm')
+ DECODE (b.t_1,
b.t_2, LEAST (b.t_1, b.t_2) + 0.00001,
GREATEST (b.t_1, b.t_2)
)
FROM (SELECT ROUND
(DBMS_RANDOM.VALUE
(0,
TO_NUMBER (TO_CHAR (LAST_DAY (TO_DATE (:s_day,
'yyyy-mm'
)
),
'dd'
)
)
),
5
) t_1,
ROUND
(DBMS_RANDOM.VALUE
(0,
TO_NUMBER (TO_CHAR (LAST_DAY (TO_DATE (:s_day,
'yyyy-mm'
)
),
'dd'
)
)
),
5
) t_2
FROM DUAL) b