在Oracle是提供了next_day求指定日期的下一个日期.

语法 : next_day( date, weekday )

date is used to find the next weekday. 
weekday is a day of the week (ie: SUNDAY, MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY)

可用于: 
Oracle 9i, Oracle 10g, Oracle 11g

举例:

可以求出当前日期的下个星期一。

select next_day( sysdate, 'MONDAY') from dual;

使用方法并不复杂,主要注意如下:

 1)  当第二个参数传的星期数比现有星期数小的时候,会返回下一个星期的日期;当第二个参数所传的星期数比 现有的星期数大的时候,则会返回本周的相应星期日期。

例如:

ps:请注意如下红色字体。

SQL> select sysdate from dual;

SYSDATE
-------------------
2010-12-30 19:30:26

1 row selected.

Elapsed: 00:00:00.01

SQL> select next_day(sysdate,'tuesday') from dual;

NEXT_DAY(SYSDATE,'T
-------------------
2011-01-04 18:57:37

1 row selected.

Elapsed: 00:00:00.01
SQL> 
SQL>  select next_day(sysdate,'MONDAY') from dual;

NEXT_DAY(SYSDATE,'M
-------------------
2011-01-03 18:58:45

1 row selected.

Elapsed: 00:00:00.00
SQL> select next_day(sysdate,'WEDNESDAY') from dual;

NEXT_DAY(SYSDATE,'W
-------------------
2011-01-05 18:59:15

1 row selected.

Elapsed: 00:00:00.00
SQL> select next_day(sysdate,'THURSDAY') from dual;

NEXT_DAY(SYSDATE,'T
-------------------
2011-01-06 18:59:30

1 row selected.

Elapsed: 00:00:00.00
SQL> select next_day(sysdate,'FRIDAY') from dual;

NEXT_DAY(SYSDATE,'F
-------------------
2010-12-31 18:59:43

1 row selected.

Elapsed: 00:00:00.00

SQL> select next_day(sysdate,'SATURDAY') from dual;

NEXT_DAY(SYSDATE,'S
-------------------
2011-01-01 19:00:19

1 row selected.

Elapsed: 00:00:00.01

SQL> select next_day(sysdate,'SUNDAY') from dual;

NEXT_DAY(SYSDATE,'S
-------------------
2011-01-02 19:00:37

1 row selected.

Elapsed: 00:00:00.00

2)好的方法

统计上个星期日到上个星期六的总和,

具体写法:

l_begin_date ~ l_end_date:

NEXT_DAY(SYSDATE-7*2-1,'sunday') ~ NEXT_DAY(SYSDATE-7-2,'saturday')

然后再在程序中作判断:

IF l_begin_date>NEXT_DAY(SYSDATE-7*2-1,'sunday')
    --限制统计开始日期必须是周日
    OR TO_CHAR(l_begin_date,'d')<>1
    --限制统计结束日期必须是周六
    OR TO_CHAR(l_end_date,'d')<>7
    --限制开始日期和结束日期时间间隔必须是一周
    OR l_end_date-l_begin_date<>6

THEN
        raise_application_error(-20503,'you enter error parameter');
    END IF;

--每周一跑数据,其它时候空跑
    IF TO_CHAR(SYSDATE,'d')=2 
    THEN

*****************

end IF;

原地址:http://blog.csdn.net/ningjieshuijing/article/details/6107965

next_day函数用法相关推荐

  1. Oracle中 to_date()函数用法详解

    TO_DATE格式(以时间:2007-11-02 13:45:25为例) Year: yy two digits 两位年 显示值:07 yyy three digits 三位年 显示值:007 yyy ...

  2. pyspark及Spark报错问题汇总及某些函数用法。

    此贴,主要记录本人在工作中遇到的某些报错问题,并提出自己的解决办法. 1. spark = SparkSession.builder()  TypeError: 'Builder' object is ...

  3. 2021年大数据常用语言Scala(三十七):scala高级用法 高阶函数用法

    目录 高阶函数用法 作为值的函数 匿名函数 柯里化(多参数列表) 闭包 高阶函数用法 Scala 混合了面向对象和函数式的特性,在函数式编程语言中,函数是"头等公民",它和Int. ...

  4. php foreach嵌套foreach,php中foreach怎么嵌套foreach PHP中foreach函数用法?

    foreach的使用方法小编不是很明确,分享达人指教一下.foreach (array_expressforeach($array as $key) { if(xxxx) { break; //bre ...

  5. linux中awk下 gsub函数用法

    gsub函数则使得在所有正则表达式被匹配的时候都发生替换 gsub(regular expression, subsitution string, target string);简称 gsub(r,s ...

  6. ROW_NUMBER() OVER()函数用法详解 (分组排序 例子多)

    ROW_NUMBER() OVER()函数用法详解 (分组排序 例子多) https://blog.csdn.net/qq_25221835/article/details/82762416 post ...

  7. 详细记录python的range()函数用法

    详细记录python的range()函数用法 使用python的人都知道range()函数很方便,今天再用到他的时候发现了很多以前看到过但是忘记的细节.这里记录一下range(),复习下list的sl ...

  8. python Pool常用函数用法总结

    在本篇内容里小编给大家整理的是一篇关于python Pool常用函数用法总结内容,有需要的朋友们可以学习下. 1.说明 apply_async(func[,args[,kwds]):使用非堵塞调用fu ...

  9. C++计算程序耗时函数用法汇总

    文章目录 前言 方法一(使用频率:常用) 方法二(使用频率:次之) 方法三(使用频率:常用) 补充:方法四 方法五 最常用的时间戳获取方法 前言 这里简单将自己在项目中经常用到的统计耗时的函数用法做个 ...

最新文章

  1. SSD(Single shot multibox detector)目标检测模型架构和设计细节分析
  2. [转]最快速度找到内存泄漏
  3. C++中const用法总结(转)
  4. Java 编程的动态性 第1 部分: 类和类装入--转载
  5. [react] 如何更新组件的状态?
  6. 2008年秋季学期文兴小学四年级班主任工作计划
  7. Qt文档阅读笔记-Object Model初步解析
  8. MySQL笔记(二)基础的增删改查
  9. Client端异步Callback的应用与介绍
  10. WIN10 如何修改 文件后缀名 设置后缀名可修改
  11. 思科修复严重的企业 NFVIS 缺陷
  12. 一、RabbitMQ安装
  13. 09: xmltodict 模块将xml格式转成json格式
  14. HTTP-meta标签
  15. MongoDB数据库(使用、基本操作)
  16. 生活中的算法的实际举例_生活中的算法
  17. 如何从Oracle官网上下载JDK
  18. python抢课_python实现强智科技教务系统抢课(两种方法)
  19. windows server 2003的一些设置
  20. 伪类和伪元素的区别及使用场景

热门文章

  1. MySQL Workbench 8.0 默认没有开启Metadata and internal Schemas
  2. 格雷码算法c语言实验报告,算法设计与分析实验报告
  3. 阿里ET大脑如何帮助养猪产业提升PSY从20到32?
  4. 互补品的需求曲线图_如图,D是某商品的需求曲线,当该商品的互补品价格下降时,则该商品的需求曲线会出现移动。下列各图(横轴为需求量,纵轴为价格)能够正确反映这一变化的是...
  5. 常见的网络协议有哪些?
  6. Web(ics-07)
  7. 【蓝桥杯-单片机学习笔记(三)】共阳数码管的静态显示
  8. 无背景图片添加白色背景
  9. 亚马逊显示在售商品为0怎么办?亚马逊新品货还没到就在售了
  10. pytorch加载VGG16及进行fine-tuning训练