Oracle 日期操作函数
2014-06-09 14:18
302 查看
oracle如何判断2个日期之间相隔天数的问题
select trunc(date1-date2) 天数 from dual;
想要算分钟,就把相减的数*1440,想要算秒就再*60
oracle里日期方面的操作很方便的
最近在写关于ORACLE写SQL给我们内部交流用,上次散分时贴了一点
顺便再贴点
对日期的操作
在SQL Server 里的日期数据,我们经常可以用 字段<=’2008-5-20’这样的表达式,但在oracle却不可以,因为数据类型不一样 字段是date型,’2008-5-20’是字符型,需要用to_char 或者to_number转换成相同的类型才能进行比较。
刚开始这让我觉得不习惯,觉得不好,不过时间长了,觉得也有不少便利之处,尤其是配合trunc啊,to_char之类的,下面简单写一下常用的一些对日期的操作
SELECT SYSDATE FROM DUAL 取当前系统时间
Select trunc(sysdate) from dual 取当前日期
Select trunc(sysdate,’YYYY’) from dual 取当前月的第一天
Select trunc(sysdate,’YYYY’) from dual取当年的元旦
Select to_char(sysdate,’ss’) from dual取当前时间秒部分
Select to_char(sysdate,’mi’) from dual取当前时间分钟部分
Select to_char(sysdate,’HH24’) from dual取当前时间秒小时部分
Select to_char(sysdate,’DD’) from dual取当前时间日期部分
Select to_char(sysdate,’MM’) from dual取当前时间月部分
Select to_char(sysdate,’YYYY’) from dual取当前时间年部分
Select to_char(sysdate,’w’) from dual取当前时间是一个月中的第几周(从1日开始算)
Select to_char(sysdate,’ww’) from dual取当前时间是一年中的第几周(从1.1开始算)
Select to_char(sysdate,’iw’) from dual取当前时间是一年中的第几周(按实际日历的)
Select to_char(sysdate,’d’) from dual取当前时间是一周的第几天,从星期天开始,周六结束
Select to_char(sysdate,'day') from dual 取当前日是星期几,和数据库设置的字符集有关,会输出’Tuesday’
Select to_char(sysdate,'ddd') from dual 当前日是一年中的第几天
Select Add_months(sysdate,12) from dual 取一年后的今天
Select sysdate-(sysdate-100) from dual 取两个日期之间的天数
Select (sysdate-(sysdate-100))*1440 from dual 取两个日期之间的分钟数
Select (sysdate-(sysdate-100))*1440*60 from dual 取两个日期之间的秒数
Select months_between(sysdate,sysdate-100) from dual 取两个日期间隔的月份
Select last_day(sysdate) from dual 取当前月的最后天
Select next_day(sysdate,’1’) from dual 取当前日之后第一个星期天,里面的’1’表示取星期日,如果今天正好是星期日,则会显示下一个星期日
select trunc(date1-date2) 天数 from dual;
想要算分钟,就把相减的数*1440,想要算秒就再*60
oracle里日期方面的操作很方便的
最近在写关于ORACLE写SQL给我们内部交流用,上次散分时贴了一点
顺便再贴点
对日期的操作
在SQL Server 里的日期数据,我们经常可以用 字段<=’2008-5-20’这样的表达式,但在oracle却不可以,因为数据类型不一样 字段是date型,’2008-5-20’是字符型,需要用to_char 或者to_number转换成相同的类型才能进行比较。
刚开始这让我觉得不习惯,觉得不好,不过时间长了,觉得也有不少便利之处,尤其是配合trunc啊,to_char之类的,下面简单写一下常用的一些对日期的操作
SELECT SYSDATE FROM DUAL 取当前系统时间
Select trunc(sysdate) from dual 取当前日期
Select trunc(sysdate,’YYYY’) from dual 取当前月的第一天
Select trunc(sysdate,’YYYY’) from dual取当年的元旦
Select to_char(sysdate,’ss’) from dual取当前时间秒部分
Select to_char(sysdate,’mi’) from dual取当前时间分钟部分
Select to_char(sysdate,’HH24’) from dual取当前时间秒小时部分
Select to_char(sysdate,’DD’) from dual取当前时间日期部分
Select to_char(sysdate,’MM’) from dual取当前时间月部分
Select to_char(sysdate,’YYYY’) from dual取当前时间年部分
Select to_char(sysdate,’w’) from dual取当前时间是一个月中的第几周(从1日开始算)
Select to_char(sysdate,’ww’) from dual取当前时间是一年中的第几周(从1.1开始算)
Select to_char(sysdate,’iw’) from dual取当前时间是一年中的第几周(按实际日历的)
Select to_char(sysdate,’d’) from dual取当前时间是一周的第几天,从星期天开始,周六结束
Select to_char(sysdate,'day') from dual 取当前日是星期几,和数据库设置的字符集有关,会输出’Tuesday’
Select to_char(sysdate,'ddd') from dual 当前日是一年中的第几天
Select Add_months(sysdate,12) from dual 取一年后的今天
Select sysdate-(sysdate-100) from dual 取两个日期之间的天数
Select (sysdate-(sysdate-100))*1440 from dual 取两个日期之间的分钟数
Select (sysdate-(sysdate-100))*1440*60 from dual 取两个日期之间的秒数
Select months_between(sysdate,sysdate-100) from dual 取两个日期间隔的月份
Select last_day(sysdate) from dual 取当前月的最后天
Select next_day(sysdate,’1’) from dual 取当前日之后第一个星期天,里面的’1’表示取星期日,如果今天正好是星期日,则会显示下一个星期日
相关文章推荐
- 韩顺平oracle视频笔记二(字段说明、表结构操作、日期插入、常用函数、主键ID)
- SQL Server,MySQL,Oracle,PostgreSQL中常用函数用法(1)——日期操作
- Oracle 11g SQL fundamentals 03 -- 日期操作函数
- Oracle数据库对表数据的基本操作和Oracle字符串、数值、日期、空值操作及它们相对应的函数操作
- oracle日期操作函数
- Oracle时间日期操作
- Oracle关于时间/日期的操作
- oracle 日期函数介绍
- oracle 日期函数介绍
- 几个asp+操作日期的函数
- java中关于时间日期操作的常用函数
- Oracle关于时间/日期的操作
- oracle中有关日期的函数
- 用函数对一个日期进行操作!(加日期或减日期)
- java中关于时间日期操作的常用函数
- java中关于时间日期操作的常用函数
- Oracle关于时间/日期的操作
- Oracle一些日期计算的函数
- Oracle关于时间/日期的操作
- Oracle关于时间/日期的操作