-- 获取上旬开始时间

create or replace function fd_lastxunstart(rq in date) return string is

refstr varchar2(50);

v_rq date;

begin

--获取上一旬的日期

v_rq := trunc(rq);

select case decode(trunc((to_char(v_rq, 'dd') - 1) / 10),

0,

'上旬',

1,

'中旬',

'下旬')

when '上旬' then --返回上个月的下旬

to_char(add_months(v_rq, -1), 'yyyyMM') || '21'

when '中旬' then

to_char(v_rq, 'yyyymm') || '01' else

to_char(v_rq, 'yyyymm') || '11'

end

into refstr

from dual;

return refstr;

end fd_lastxunstart;

-- 这个返回的是:上旬的开始日期

select sysdate from dual;

select fd_lastxunstart(sysdate) from dual;

select fd_lastxunstart(to_date('20130305','yyyymmdd')) from dual;

select fd_lastxunstart(to_date('20130311','yyyymmdd')) from dual;

select fd_lastxunstart(to_date('20130325','yyyymmdd')) from dual;

-- 执行结果为: 2013/9/5 12:08:39、20130821、20130221、20130301、20130311

---- 获取上一旬的结束日期

-- 传递进去 一个 date 类型的值,返回一个varchar类型的上旬结束日期

create or replace function fd_lastxunend(rq in date) return string is

refstr varchar2(50);

v_rq date;

begin

--获取上一旬的日期

v_rq := trunc(rq);

select case decode(trunc((to_char(v_rq, 'dd') - 1) / 10),

0,

'上旬',

1,

'中旬',

'下旬')

when '上旬' then --返回上个月的最后1天

--chr(39) 这个是加引号

to_char(last_day(add_months(v_rq, -1)) + 1 - 1 / 24 / 60 / 60,

'yyyymmdd')

when '中旬' then

to_char(v_rq, 'yyyymm') || '10' else

to_char(v_rq, 'yyyymm') || '20'

end

into refstr

from dual;

return refstr;

end fd_lastxunend;

-- 这个获取的是:上旬的结束日期

select fd_lastxunend(sysdate) from dual;

select fd_lastxunend(to_date('20130305','yyyymmdd')) from dual;

select fd_lastxunend(to_date('20130311','yyyymmdd')) from dual;

select fd_lastxunend(to_date('20130315','yyyymmdd')) from dual;

select fd_lastxunend(to_date('20130221','yyyymmdd')) from dual;

--执行结果:20130831、20130228、20130310、20130310、20130220

-- 观察 1 / 24 / 60 / 60 的作用 这个是一秒

select last_day(add_months(trunc(sysdate), -1)) + 1 - 1 / 24 / 60 / 60

from dual;

select last_day(add_months(trunc(sysdate), -1)) from dual;

select last_day(add_months(trunc(sysdate), -1)) + 1 from dual;

-- 执行结果:2013/8/31 23:59:59、2013/8/31、2013/9/1

参考:http://bxl766.blog.163.com/blog/static/61099505201342034552299/

oracle旬统计,oracle获取上一旬的开始时间和结束时间的函数相关推荐

  1. php 上一个月的开始和结束,php获取上一个月的开始与结束时间遇到的问题

    改正之前: $_lastMonthStart = date('Y-m-1 00:00:00', strtotime("-1 month")); $_lastMonthEnd = d ...

  2. php输出12个月,php获取12个月内的开始时间和结束时间

    $currentTime = time(); $cyear = floor(date("Y",$currentTime)); $cMonth = floor(date(" ...

  3. php 获取季度时间段,php 取开始时间和结束时间所跨越的全部季度时间

    /** 由起止日期算出其中所跨的季度 和各季度开始结束时间 * params * $st:开始日期 Y-m-d格式 * $et:结束日期 Y-m-d格式*/ function getQuarter($ ...

  4. 快速获取一天的开始时间和结束时间

    前言 在日常开发中,我们经常需要获取某一天的开始时间和结束时间,然后再去做一些逻辑处理.这里提供两种demo. java8之前 这种是采用手动设置日期的时分秒为需要的格式,具体代码如下 @Testpu ...

  5. oracle旬统计,oracle获取上一旬的开始时间和结束时间的实现函数

    -- 获取上旬开始时间 create or replace function fd_lastxunstart(rq in date) return string is refstr varchar2( ...

  6. oracle 时间小于,jquery easyui 对于开始时间小于结束时间的判断示例

    对于开始时间小于结束时间的判断可以参考,jquery easyui里的ValidateBox进行判断 好吧!直接上代码 查看内容:按时间: 至 var varify;//用于查询验证,验证开始时间是否 ...

  7. Java获取当年以及任意一年的第一天和最后一天 获取当天的开始时间和结束时间 自动获取去年的年份 常用于每年的数据统计

    @Slf4j public class DateTimeUtil {/*** 默认日期格式*/public static String DEFAULT_FORMAT = "yyyy-MM-d ...

  8. js获取下月时间_JS获取上月,本月,下月的开始时间与结束时间

    ``###JS获取上月,本月,下月的开始时间与结束时间(记录) //获取当天的时间 function getToday() { var date = new Date(); return date . ...

  9. 获取年、季度、月份的开始时间和结束时间,到时分秒

    根据传入的日期获取开始时间和结束时间,到时分秒级别 如果不要时分秒,SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd" ...

最新文章

  1. 从“优化”、“向社会输送人才”到“毕业”,互联网的高情商裁员
  2. python基础实例-Python 练习实例14
  3. imagecomposition工程分析
  4. Oracle中的Round和Trunc
  5. python 发送邮件的两种方式【终极篇】
  6. php属性未定义,PHP-警告-未定义的属性:stdClass-修复?
  7. es6 map与set
  8. PHP串口扩展库 serial extension-试用版有限制
  9. 关于travis scott的网名_2020微信情侣名字情侣专用 霸气秀恩爱的情侣网名
  10. WSL2 通过 USBIP 连接USB串口设备 JetsonUSB备份刷机
  11. 知道创宇赵伟乌镇演讲:以云护云、以云治云,构建云端安全治理体系
  12. 2021年茶艺师(初级)考试题及茶艺师(初级)最新解析
  13. 安防4G摄像头互联网直播视频流媒体服务器EasyNVR硬件盒子设置固定IP后设备重启无法再次发现设备的问题
  14. 简述基于CPU的机器码运行过程
  15. 好和弦-5-调式和音阶
  16. 春招笔记(十一)--设计模式
  17. XMPPFrameWork IOS 开发(一)xmpp简介
  18. Cesium双屏对比
  19. 《千与千寻》再上映:18年后才发现,这是一部成年人的电影
  20. 梅氏砝码(2014腾讯实习笔试附加题)

热门文章

  1. MySQL update正在执行中突然断电,数据是否更改成功?
  2. 应对华为鸿蒙?首个全国产化操作系统发布,中兴新支点系统与腾讯强强联合
  3. 用MATLAB实现HDB3编码
  4. 003.update窗口缩放
  5. Python日志记录只写入文件,不显示在控制台上,Pythonlogging,到
  6. Python3,一行代码解析地址信息,原来物流单的地址是这样拆分。
  7. 电容充放电时间计算公式
  8. 安装Oracle提示:[INS-35206] 目录已在使用
  9. Unity Metaverse(八)、RTC Engine 基于Agora声网SDK实现音视频通话
  10. 苹果plus HTML高度,iPhone 8、iPhone8 plus和iPhone X 的尺寸大小是多少