首先,要先将你的日期格式转换成日期格式,在oracle里,求两个日期之间的天数可以用下边的语句:
成都网络公司-成都网站建设公司成都创新互联公司10余年经验成就非凡,专业从事成都网站制作、网站建设,成都网页设计,成都网页制作,软文发布平台,广告投放等。10余年来已成功提供全面的成都网站建设方案,打造行业特色的成都网站建设案例,建站热线:13518219792,我们期待您的来电!
select floor(to_date('20100722235959','yyyymmddhh24miss') - to_date('20100722000000','yyyymmddhh24miss')) from dual;
但是你的答案,是两个日期如果是同一天,则算为一天
所以
select floor(to_date('20100722235959','yyyymmddhh24miss') - to_date('20100722000000','yyyymmddhh24miss'))+1 from dual;
只要在后边加1就行了
select to_char(last_day(sysdate),'dd') from dual
也可以将sysdate替换为任意时间,以计算当天所在月份天数。
甲骨文公司简介:
oracle一般指甲骨文公司
甲骨文股份有限公司(Oracle)是全球大型数据库软件公司,总部位于美国加州红木城的红木岸。在2008年,甲骨文股份有限公司是继Microsoft及IBM后,全球收入第三多的软件公司。Oracle数据库产品为财富排行榜上的前1000家公司所采用,许多大型网站也选用了Oracle系统。甲骨文股份有限公司于1989年正式进入中国,在北京、上海、广州和成都均设立了分支机构。 2016年1月,甲骨文表示会收购网站数据追踪服务商AddThis。2016年2月,甲骨文收购了云计算创业公司Ravello Systems。2017年6月7日发布的2017年美国《财富》500强,甲骨文公司排名第81位。2017年6月,《2017年BrandZ最具价值全球品牌100强》公布,甲骨文公司排名第46位。
时间,在数据库里实际是以长整型表示..即1900-1-1日到当前的天数.于是不难理解.时间是可以做减法的.
当然,为了简便,规定差值1为一天的,如果当前时间+365即明年的4月2日22:49:40秒.
那么算下来,1秒即为:1/(24*3600)=0.00001157
至于分钟,小时,周数等等,都是些函数转换.没啥希奇
第一个问题不明确。就像前面的人说的,可以有3个或4个完整周,有一个或两个不完整周。
计算出来这个感觉对你用处不大。所以还是看你到底想要做什么吧。
第二个问题,应该是你指定当前周或者前一周。然后来统计。
统计当前周,where 条件可以是: dt =trunc(sysdate,'day') and dt = sysdate
trunc(sysdate,'day')的意思是取得当前日期所在周的星期日那一天,注意,它也就是所在周第一天。
统计前一周可以是 dt =trunc(sysdate,'day')-7 and dt = trunc(sysdate,'day')
至于要统计其他周的数据就看你自己了。呵呵。
只要把两个日期相减就可以得到天数了,
如果后面有小数你就自己换算成小时分钟秒
比如两个日期相减后是1.56
就相当于是1天13小时26分24秒……自己算一下就行了
如果你只想以天数显示,那么在oracle中无须转换 默认就是