如何根据某天:testDay(格式2008-07-08)
计算出:
本周(testDay所在的周)的周一(this_week_beg)和周末(this_week_end),
上周的周一(last_week_beg)和周末(last_week_end ),
上上周的周一(two_week_beg)和周末( two_week_end),
上上上周的周一(three_week_beg)和周末(three_week_end),
本月开始(this_month_beg)和结束( this_month_end),
上月开始(last_month_beg)和结束(last_month_end).
谢谢了….
testday-6 ?
to_char(testday,'day') 是取该日是一周的第几天
周日是第一天,周一是第2天,周六是第7天
我们一般的习惯是以周日为最后天的,和数据库有所不同啊
我们这的本周日,在数据库里是下一周的开始(西方的习惯)
我不明白"decode(to_char(testday,'day'),'1',testday-6,testday-to_number(to_char(testday,'day'))+1)"
==>"decode(to_char(2008-07-08,'day'),'1',2008-07-08-6,2008-07-08-to_number(to_char(testday,'day'))+1)"?
应该是decode(to_char(testday,'day'),'1',testday-6,testday-to_number(to_char(testday,'day'))+2)"
这句话的意思
判断
to_char(testday,'day') 的值
如果是1,说明testday是周日,那取周一就是testday减去6天
不是的话,就取testday-to_char(testday,'day') 的值再加2天就是周一
比如8.25是周一
to_char(testday,'day')=2
8.25-2+2=8.25
如果是8.26
就是8.26-3+2=8.25
今天是
8.27
to_char(8.27,'day')=4
8.27-4+2=8.25
8.24是周日,如果还按这个公式算
8.24-1+2=8.25
按我们的习惯8.24不是本周的,算上周的,所以这时就要换个公式
8.24-6=8.18 就是上周一
非常感谢…..
分享到:
相关推荐
通过入参 生日 ,计算日期(默认sysdate),计算年龄 精确到秒
oracle根据生日自动求年龄的函数源代码,无须创建任何其他表
oracle中的日期转换,包括计算时间差,某月,最后一天等常见时间
Oracle数据库的周数计算 日期计算,算第n周的第一天及最后一天是几号。 公式...
Oracle各种日期计算方法定义.pdf
NULL 博文链接:https://best-sheng.iteye.com/blog/1002955
OracleSQL实例-删除重复数据行留最新日期实例.pdf 学习资料 复习资料 教学资源
本人编写,通过自己定义的函数计算两个日期之间周末的天数和工作日天数,经过测试,非常好用
本篇文章主要介绍了oracle 日期格式,详细的介绍了日期的转换和计算,有兴趣的可以了解一下。
可以帮助您学些Oracle,有两个日期数据START_DATE,END_DATE,欲得到这两个日期的时间差(以天,小时,分钟,秒,毫秒)
oracle查询一个月之内数据,例如查询某个月用户使用短信多少跳
3.6.3 日期类函数 3.6.4 转换类函数 3.6.5 聚集类函数 第4章 Oracle PL/SQL语言及编程 4.1 PL/SQL简介 4.1.1 PL/SQL的基本结构 4.1.2 PUSQL注释 4.1.3 PL/SQL字符集 4.1.4 PL/SQL数据类型 4.1.5 ...
Oracle 计算时间格式平均值的sql 语句 select to_char((to_date('2019-07-01', 'yyyy-mm-dd') + numtodsinterval(avg(begin_time_second), 'second')),'hh24:mi:ss') avg_begin_time, to_char((to_date('2019-07-01...
oracle时间函数处理总结大全。个人总结的oracle SQL里常用的时间函数,常用日期型函数 贡献给大家分享。。值得大家作为工具
Oracle是能够安装在目前为止所有的计算机上并...日期型、期间型:date、timestamp、timestamp with time zone等。 Oracle数据库对象:cluster、数据库联接、触发器、外部程序库、索引、Java类、演算子、表、视图等等
通过学习本书,您可以了解如何实现最新的安全措施,如何调优数据库性能,如何部署网格计算技术。附录部分内容丰富、便于参照,包括Oracle命令、关键字、功能以及函数等. 作译者 本书提供作译者介绍 Kevin Loney是...
通过学习本书,您可以了解如何实现最新的安全措施,如何调优数据库性能,如何部署网格计算技术。附录部分内容丰富、便于参照,包括Oracle命令、关键字、功能以及函数等. 作译者 本书提供作译者介绍 Kevin Loney是...
计算两个日期相隔天数并减去节假日,这个可以使用在各种需要通知的场景以及工作日提醒等
利用《Oracle Database 11g & MySQL 5.6开发手册》,您将能够在混合环境中创建出强大的数据库应用程序。本书规划了这两种平台之间无缝...● 执行复杂查询并管理数字和日期的计算 ● 合并来源表中的数据并设置虚拟目录