Oracle中循环插入日期且日期比上一条记录多一秒的问题

无双马超 2018-06-02 12:09:58
在Oracle数据库中假设有一张表, 字段简单点
create table Custom_Table(
user_id number primary key,
user_name varchar2(20) not null,
user_birthday date not null
);
我每往里头插入一条数据,要求该条数据中的日期列加一秒。比如我上一条记录里插入的日期是 2018-06-01 11:22:33,下一条里就应该是2018-06-01 11:22:34

假设第一条记录为:
insert into Custom_Table values(1,'Joanna',to_date('2018-06-01 11:22:33','yyyy-mm-dd hh24:mi:ss'));
加一秒是:to_date('2018-06-01 11:22:33','yyyy-mm-dd hh24:mi:ss')+ 1/(24*60*60)
连续插个十条记录即可。
请问应该如何实现?
...全文
1597 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
卖水果的net 2018-06-02
  • 打赏
  • 举报
回复

SQL> 
SQL> create table Custom_Table(
  2  user_id number primary key,
  3  user_name varchar2(20) not null,
  4  user_birthday date not null
  5  );
Table created
SQL> insert into Custom_Table values(
  2  1, 'zhangsan',
  3  (select nvl(max(user_birthday) + 1 / 86400, date'2018-06-02') from Custom_Table)
  4  );
1 row inserted
SQL> insert into Custom_Table values(
  2  2, 'lisi',
  3  (select nvl(max(user_birthday) + 1 / 86400, date'2018-06-02') from Custom_Table)
  4  );
1 row inserted
SQL> select user_id, user_name, to_char(user_birthday, 'yyyy-mm-dd hh24:mi:ss') x
  2   from Custom_Table;
   USER_ID USER_NAME            X
---------- -------------------- -------------------
         1 zhangsan             2018-06-02 00:00:00
         2 lisi                 2018-06-02 00:00:01
SQL> drop table Custom_Table purge;
Table dropped

SQL> 

17,089

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧