oracle数据库中字段默认取系统当前的时间
1、select sysdate from dual; 获取系统当前时间。锋谈
2、select sysdate-5 from dual; 获取系统当前时间减五天(相当于五天前)。
3、select sysdate-5/24 from dual; 获取系统当前时间减五小时(五小时前)。
4、找出今年的天数select add_months(trunc(sysdate,'year'), 12) - trunc(sysdate,'毁者year') from dual;。
5、一年的第几天,select to_char(sysdate,'ddd'),sysdate from dual;。
6、银余碰计算小时,分,秒,毫秒select days,r,trunc(r*24) Hours, trunc(r*24*60 - 60*trunc(r*24)) Minutes, trunc(r*24*60*60 - 60*trunc(r*24*60)) Seconds。
1、获取系统当前时间
date类型的:
select sysdate from dual;
2、char类型的:
select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') from dual;
3、ORACLE里获隐友取一个时间的年、季、月、周、日的函数
select to_char(sysdate, 'yyyy' ) from dual; --年
select to_char(sysdate, 'MM' ) from dual; --月
select to_char(sysdate, 'dd' ) from dual; --日
select to_char(sysdate, 'Q') from dual; --季
select to_char(sysdate, 'iw') from dual; --周--按日历上的那种,每年有52或者53周
4、日期操作
当前时间减去7分钟的时间
select sysdate,sysdate - interval '7' MINUTE from dual;
当前时间减去7小时的时间
select sysdate - interval '7' hour from dual;
灶肆槐当前时间减去7天的时间
select sysdate - interval '7' day from dual;
当前时间减去7月的时间
select sysdate,sysdate - interval '7' month from dual;
当前时间减去7年的时间
select sysdate,sysdate - interval '7' year from dual;
时间间雹猜隔乘以一个数字
select sysdate,sysdate - 8*interval '7' hour from dual;
分两种情况,一种是创建表时自动创建带有默认值的野兆字段,一种是把没有默认值的字段设置为有默认值的字段。
第一种情没行况:
create table test
(id int,
starttime date default sysdate 枯脊哗not null );
插入测试数据:
insert into test (id) values (1);
commit;
验证结果:
第二种情况,比如在test表中加一个endtime,时间也要求是系统默认时间。
添加字段且不设置默认值:
alter table test add endtime date;
添加默认值语句:
alter table test modify endtime default sysdate;
测试语句:
insert into test (id) values (2);
commit;
验证结果:
2017-07-05