oracle数据库中日期函数的用法
来源:互联网 发布:jsp javabean MySQL 编辑:程序博客网 时间:2024/04/27 17:37
在oracle数据库中sysdate表示系统当前时间,dual表示的是一个虚表,这个虚表在数据库中存一行一列。我是代码控,直接上代码。
例如:
下面的例子是查询系统当前时间
select sysdate from dual;
对查询出的系统时间进行处理
select trunc(sysdate) from dual;或者select trunc(sysdate,'mm') from dual;
下面的例子,对时间进行间隔处理,对月份进行增减,对当前系统时间加一个月是1,减去一个月就是-1.
select add_months(trunc(sysdate),1) from dual;
下面的例子是舍入到最接近的日期
select sysdate S1, round(sysdate) S2, round(sysdate, 'year') YEAR, round(sysdate, 'month') MONTH, round(sysdate, 'day') DAY from dual
下面的例子是当前时间的下一个星期一
select Next_day(sysdate, 2) from dual ;
下面的例子截取最接近的日期,返回的类型是日期类型
select sysdate S1,trunc(sysdate) S2, --返回当前日期,无时分秒trunc(sysdate, 'year') YEAR,--返回当前年的1月1日,无时分秒trunc(sysdate, 'month')MONTH, --返回当前月的1日,无时分秒trunc(sysdate, 'day') DAY --返回当前星期的星期天,无时分秒from dual
下面的例子返回日期的最后一天
select last_day(trunc(sysdate,'month')) from dual;
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 ;
months_between两个日期之间的月份差
select months_between(to_date(201302,'yyyymm'),to_date(201212,'yyyymm'))as ans from dual;
一些具体事例:
获得上月的最后一天:
select to_char(add_months(last_day(sysdate),-1),'yyyy-MM-dd') LastDay from dual;--或者select last_day(add_months(trunc(sysdate),-1)) LastDay from dual;
上个月的今天(同日期)
select to_char(add_months(sysdate,-1),'yyyy-MM-dd') PreToday from dual;
上个月的第一天
select to_char(add_months(last_day(sysdate)+1,-2),'yyyy-MM-dd') First_Day_Last_Month from dual;
获得日期对应的星期几
select to_char(to_date('2013-04-07','yyyy-mm-dd'),'day') from dual;
从当前日期到某一个日期的天数
select floor(sysdate -to_date('20130405','yyyymmdd')) from dual;
找出今年的天数
selectadd_months(trunc(sysdate,'year'), 12) - trunc(sysdate,'year') from dual
简单的找出闰年
如果2月份的天数是28天,那么就不是闰年
decode函数用法
DECODE(条件,值1,返回值1,值2,返回值2,…值n,返回值n,缺省值)
这个函数运行的结果是,当字段或字段的运算的值等于值1时,该函数返回值2,否则返回值3
select decode(to_char(last_day(to_date('200902','yyyymm') ),'dd'),'28','不是闰年','闰年' )from dual
当前日期是本年的第几天
selectto_char(sysdate,'ddd'),sysdate from dual;
查找上月的第一天和最后一刻,本月的第一天和最后一刻
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_MonthFROM dual;
extract函数用法
返回当前时间的月份
select extract(month from sysdate) from dual;
0 0
- oracle数据库中日期函数的用法
- oracle 中日期函数用法
- Oracle中日期时间函数用法
- oracle中日期函数
- 数据库中日期函数
- sql中日期函数的用法
- sql中日期函数的用法
- sql中日期函数的用法
- sql中日期函数的用法
- Oracle数据库中日期的计算方法
- Oracle数据库中日期格式的转换
- Oracle中日期函数的使用
- Oracle中日期函数的使用
- Oracle中日期函数的SQL实例
- Oracle中日期函数的使用
- oracle 中日期函数的使用
- Oracle中日期函数的使用
- oracle中日期函数使用
- java动态代理学习
- 线程池线程数与(CPU密集型任务和I/O密集型任务)的关系
- neuq oj 1049: 谭浩强C语言(第三版)习题6.5 C语言
- 用邻接表实现无向图
- 机器学习系列(6)_从白富美相亲看特征预处理与选择(下)
- oracle数据库中日期函数的用法
- 尝试向分析类转型1--scikit-learn(机器学习) 和 Weka(数据挖掘)
- 现实生活中的你
- 2015年Java工程师面试题总结
- 欢迎使用CSDN-markdown编辑器
- 安装 MySQL
- 推荐系统000111
- 反射的方式破解单例模式
- 深度优先搜索