oracle常见日期函数

--常用日期函数

1、Sysdate 当前日期和时间

Select sysdate from dual;

2、Add_months(d,n) 当前日期d后推n个月

用于从一个日期值增加或减少一些月份

当前日期后两个月:

Select add_months(sysdate,2) from dual;

当前日期前三个月:

Select add_months(sysdate,-3) from dual;

ADD_MONTHS是运算函数,函数将一个日期上加上一指定的月份数,所以,日期中的日是不变的。然而,如果开始日期是某月的最后一天,那么,结果将会调整以使返回值仍对应新的一月的最后一天。如果,结果月份的天数比开始月份的天数少,那么,也会向回调整以适应有效日期。

3、dbtimezone()返回时区

select dbtimezone from dual;

4,round[舍入到最接近的日期](day:舍入到最接近的星期日)

select sysdate S1,

round(sysdate) S2 ,

round(sysdate,'year') YEAR,

round(sysdate,'month') MONTH ,

round(sysdate,'day') DAY fromdual

5、next_day( date, weekday )指定日期的下一个日期

语法 : next_day( date,weekday )

select Next_day(to_date(20130107,'yyyymmdd'), 2) from dual ;

该函数功能很强大,但是需要注意,周日是1,周一是2,以此类推

6,trunc[截断到最接近的日期,单位为天] ,返回的是日期类型

select sysdate S1,

trunc(sysdate) S2, --返回当前日期,无时分秒

trunc(sysdate, 'year') YEAR,--返回当前年的1月1日,无时分秒

trunc(sysdate, 'month')MONTH, --返回当前月的1日,无时分秒

trunc(sysdate, 'day') DAY --返回当前星期的星期天,无时分秒

from dual

7、last_day 一个月中的最后一天

select last_day(Trunc(SYSDATE, 'MONTH')) from dual

返回最后一天;

如果直接使用 selectlast_day(SYSDATE) from dual,不仅仅会返回日期,还会返回当前的时分秒等内容;

8、to_date,to_char日期和字符转换函数用法

select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') as nowTime from dual; --日期转化为字符串

select to_char(sysdate,'yyyy') as nowYear from dual; --获取时间的年

select to_char(sysdate,'q') asnowSecond from dual; --获取时间的季度

select to_char(sysdate,'mm') asnowMonth from dual; --获取时间的月

select to_char(sysdate,'dd') asnowDay from dual; -获取时间的日

select to_char(sysdate,'hh24') as nowHour from dual; --获取时间的时

select to_char(sysdate,'mi') asnowMinute from dual; --获取时间的分

select to_char(sysdate,'ss') asnowSecond from dual; --获取时间的秒

将字符串转换为日期类型

select to_date('2013-05-07 13:23:44','yyyy-mm-dd hh24:mi:ss') from dual ;

9、months_between两个日期之间的月份差

select months_between(to_date(201302,'yyyymm'),to_date(201212,'yyyymm'))as ans from dual;

--日期函数的一些具体用法

1、获得上月的最后一天:

select to_char(add_months(last_day(sysdate),-1),'yyyy-MM-dd') LastDay fromdual;

2、上个月的今天(同日期)

select to_char(add_months(sysdate,-1),'yyyy-MM-dd') PreToday from dual;

3、上个月的第一天

select to_char(add_months(last_day(sysdate)+1,-2),'yyyy-MM-dd') First_Day_Last_Month from dual;

SELECT Trunc(Trunc(SYSDATE, 'MONTH') - 1, 'MONTH')First_Day_Last_Month FROM dual;

4、获得日期对应的星期几

select to_char(to_date('2013-04-07','yyyy-mm-dd'),'day') from dual;

5、从当前日期到某一个日期的天数

select floor(sysdate -to_date('20130405','yyyymmdd')) from dual;

6、找出今年的天数

selectadd_months(trunc(sysdate,'year'), 12) - trunc(sysdate,'year') from dual

看今年是366天,还是365天。

7、简单的找出闰年

如果2月份的天数是28天,那么就不是闰年

select decode(to_char(last_day(to_date('200902','yyyymm') ),'dd'),'28','不是闰年','闰年' )from dual

8、当前日期是本年的第几天

selectto_char(sysdate,'ddd'),sysdate from dual;

9、查找上月的第一天和最后一刻,本月的第一天和最后一刻

SELECT Trunc(Trunc(SYSDATE,'MONTH') - 1, 'MONTH') First_Day_Last_Month,

Trunc(SYSDATE, 'MONTH') - 1 /86400 Last_Day_Last_Month,

Trunc(SYSDATE, 'MONTH')First_Day_Cur_Month,

LAST_DAY(Trunc(SYSDATE,'MONTH')) + 1 - 1 / 86400 Last_Day_Cur_Month

FROM dual;

oracle常见日期函数相关推荐

  1. Oracle中日期函数的使用

    相信很多人都有过统计某些数据的经历,比如,要统计财务的情况,可能要按每年,每季度,每月,甚至每个星期来分别统计.那在oracle中应该怎么来写sql语句呢,这个时候Oracle的日期函数会给我们很多帮 ...

  2. oracle数据库 日期函数用法

    oracle数据库 日期函数用法 –Oracle trunc()函数的用法 /日期******/ 1.select trunc(sysdate) from dual --2013-01-06 今天的日 ...

  3. oracle中日期函数

    相信很多人都有过统计某些数据的经历,比如,要统计财务的情况,可能要按每年,每季度,每月,甚至每个星期来分别统计.那在oracle中应该怎么来写sql语句呢,这个时候Oracle的日期函数会给我们很多帮 ...

  4. Oracle的日期函数

    相信很多人都有过统计某些数据的经历,比如,要统计财务的情况,可能要按每年,每季度,每月,甚至每个星期来分别统计.那在oracle中应该怎么来写sql语句呢,这个时候Oracle的日期函数会给我们很多帮 ...

  5. oracle截取日期函数

    转自: http://blog.csdn.net/bobo12082119/article/details/6427847 //oracle中extract()函数从oracle 9i中引入,用于从一 ...

  6. Oracle时间日期函数及sql语句

    一.时间日期函数 1.to_date函数 to_date的格式:to_date('要转换的时间','转换成的时间格式'), 两个参数的格式必须匹配,否则会报错. 需要注意的是,在Java中的时间格式是 ...

  7. ORACLE常见时间函数

    常用时间函数及jobs常见配置时间函数! --常见时间函数 --1.当前日期和时间 select sysdate from dual; --2.今天日期 select trunc(sysdate) f ...

  8. oracle常用日期函数

    日期函数 sysdate:(获取当前日期) --获取当前的日期 select sysdate from dual;--获取当前日期最后一天select last_day(sysdate) from d ...

  9. oracle 各种日期函数格式和操作

    2019独角兽企业重金招聘Python工程师标准>>> ORACLE日期时间函数大全 TO_DATE格式(以时间:2007-11-02   13:45:25为例)           ...

最新文章

  1. 使用netty编写IM通信界面
  2. EditText 自动保留两位小数
  3. mfc让图片与按钮一起_对许多张图片进行批量裁剪,看看我是如何快速做到的
  4. 个人房贷为啥又贵又难贷 一个房贷银行有3套逻辑
  5. 04.自定义View(SlidingView仿QQ侧滑)
  6. 设计模式(一)----简单工厂、工厂方法和抽象工厂区别
  7. 计算机视觉(三)线性分类器
  8. 你了解Android中的Activity吗?
  9. mysql中chr_Chr()和chrb()的含义
  10. 对List集合嵌套了map集合的排序
  11. 来自Bitly的USA.gov数据,数据分析案例
  12. 2022秋招计算机视觉算法工程师面经(旷视、字节、科大讯飞、大华、海康、网易、华为、小米、腾讯、百度、阿里、完美世界、美团、陌陌)
  13. 百度SRE面经-为三面攒人品
  14. 微信小程序图表插件(wx-charts)
  15. 阵列天线相位加权 matlab,相控阵波束赋形,阵列天线设计实例
  16. Lombok 新特性(idea插件)
  17. lvm - Logical Volume Manager - 逻辑卷管理
  18. Notification与Delegate实现通讯沙拉实例
  19. Android 使用webview 打开浏览ppt文件
  20. nginx temp缓存导致的诡异问题描述

热门文章

  1. Android接入高德地图SDK如何设置Key(发布版/测试版)
  2. java计算机毕业设计医院远程诊断系统源代码+系统+数据库+lw文档
  3. Java api文档自动生成工具smartdoc+torna
  4. 10张程序员喜爱的壁纸,需要自取~
  5. 凤凰新闻岳建雄:互联网已经成为传统行业
  6. 2018年android常用的框架介绍
  7. JAVA版本号的问题 Java版本号与JDK版本
  8. [收集]仿163邮箱的JS编辑器
  9. js可以打开mat文件吗_企业微信最大可以传多大文件?企业微信发送文件有限制吗?...
  10. leetcode 5473. 灯泡开关 IV(C++)