为了账号安全,请及时绑定邮箱和手机立即绑定

请问该怎么在插入数据的时候在date列中插入系统时间?我的总报异常?

请问该怎么在插入数据的时候在date列中插入系统时间?我的总报异常?

蝴蝶不菲 2022-05-01 10:06:56
数据库中date列的默认值是sysdate 在使用struts+hibernate+spring的情况下 怎么在插入数据的时候在date列中插入系统时间?我的总报异常,dpo的date为null...问题是我用三个框架写的····sql语句不由我控制的···
查看完整描述

3 回答

?
慕标琳琳

TA贡献1830条经验 获得超9个赞

Oracle中插入默认时间
分两种情况,一种是创建表时自动创建带有默认值的字段,一种是把没有默认值的字段设置为有默认值的字段。
第一种情况:

1
2
3

create table test
(id int,
starttime date default sysdate not null );

插入测试数据:

1
2

insert into test (id) values (1);
commit;

验证结果:

第二种情况,比如在test表中加一个endtime,时间也要求是系统默认时间。
添加字段且不设置默认值:

1

alter table test add endtime date;

添加默认值语句:

1

alter table test modify endtime default sysdate;

测试语句:

1
2

insert into test (id) values (2);



查看完整回答
反对 回复 2022-05-04
?
潇潇雨雨

TA贡献1833条经验 获得超4个赞

插入oracle服务器当前时间
insert into tb (date) values (sysdate);--sysdate为oracle服务器当前时间
插入自定义时间

查看完整回答
反对 回复 2022-05-04
?
万千封印

TA贡献1891条经验 获得超3个赞

定义时间变量
用for...loop循环十二次插入数据,用add_months(to_date('&date','yyyy-mm-dd'),1)
每循环一次加一个月。
declare
nba_date
date
:=
sysdate;
begin
for
i
in
1
..
12
loop
nba_date
:=
add_months(
to_date(nba_date),1);
insert
into
nba
values
('00','00',nba_date);
end
loop;
end;



查看完整回答
反对 回复 2022-05-04
  • 3 回答
  • 0 关注
  • 216 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信