oracle与java中对date的加一天操作的不同(转)

本文介绍了如何在Java和Oracle数据库中进行日期的增加操作,并对比了两种环境下日期类型大小的比较方式。此外还提供了Oracle中to_date函数的参数含义及一个简单的年龄计算SQL示例。

出处:http://hi.baidu.com/huahua035/item/6f44d4f65ead14b131c199bf

首先说Java中对日期date加一天的操作:

     Calendar calendar=Calendar.getInstance();
       calendar.setTime(new Date());
       calendar.add(Calendar.DATE, 1);     // 加一天
       long times=calendar.getTimeInMillis(); //获得当前时间秒

多么直接呀,Calendar 对象已经封装啦时间操作的常用方法。。。。

oracle中更直接:

sysdate+1 加一天
sysdate+1/24 加1小时
sysdate+1/(24*60) 加1分钟
sysdate+1/(24*60*60) 加1秒钟
类推至毫秒0.001秒

demo:

-- 系统当前时间
select sysdate from dual;
-- 系统时间+1 明天的此时
select sysdate+1 from dual; 
-- 系统时间延迟5分钟的时间
select sysdate now,(sysdate+5/(24*60)) delay from dual;

 

 

唯一感觉oracle和java中不同的是:

oracle比较日期类型的大小用>,<符号就可以比较日期啦,当然前提条件是必须是日期类型的了,比如:

select * from t_event where play_date>to_date('2010-06-29 00:00:00','yyyy-MM-dd HH24:mi:ss')

而java中的比较大小用的是方法before/after

 

Oracle中的to_date参数含义

日期格式参数  含义说明D一周中的星期几DAY  天的名字,使用空格填充到9个字符DD  月中的第几天DDD年中的第几天DY天的简写名IW ISO标准的年中的第几周IYYYISO标准的四位年份YYYY四位年份YYY,YY,Y年份的最后三位,两位,一位HH小时,按12小时计HH24小时,按24小时计MI分SS秒MM月Mon  月份的简写Month  月份的全名W该月的第几个星期WW年中的第几个星期

而且常用的计算年龄的SQL(最笨的办法计算):

select to_number(to_char(sysdate,'yyyy'))-to_number(to_char(t.play_date,'yyyy')) age
 from t_stu t

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值