第八章 Oracle中的日期型介绍

第八章 Oracle中的日期型介绍

oracled的日期处理

  • oracle修改默认时间格式:

    • alter session set nls_date_format=‘yyyy-mm-dd HH24:MI:SS’;
  • 获取当前日期:sysdate()

    • 第八章 Oracle中的日期型介绍_第1张图片
  • 为日期加上特定月份:add_months()

    • 在这里插入图片描述

    • 在一年之中,各个月的天数不同相同。因此在添加特定月份时,需要注意Oracle的特殊处理方式。举例如下:

      • 第八章 Oracle中的日期型介绍_第2张图片

      • 解释:以add_months(sysdate,1)为例,如果sysdate为当月最后一天,则oracle将返回下个月的最后一天;如果sysdate中当月的天数大于下个月的天数时,oracle将返回下个月的最后一天。

  • 返回特定日期所在月的最后一天:last_day()

    • last_day()函数用于返回某个日期所在月份的最后一天,返回值同样为一个日期型。

      • 第八章 Oracle中的日期型介绍_第3张图片
  • 返回两个日期所差的月数:months_between()

    • months_between()函数用于返回两个日期相减获取的月数。该函数的返回值并不一定为整数。

      • 第八章 Oracle中的日期型介绍_第4张图片

      • 注意

        • 对于非整数月份,Oracle计算规则为非整数天数除以31
        • 如果第一个参数所代表的日期小于第二个参数,那么months_between()函数将返回一个负数。
  • 返回特定日期之后的一周内的日期:next_day()

    • oracle中的星期数对应的的数字

      • 在这里插入图片描述
    • next_day()函数返回特定日期之后的一个星期之内的日期。

      • 例如:返回2022年4月22日的下个星期三

        • 在这里插入图片描述
  • 截取日期:trunc(日期原始值,截取格式)

    • trunc()函数不仅可以截取数字,而且可以截取日期,其工作原理于截取数字非常相似。

    • 使用该函数,需要指定日期原始值和截取格式代码(即截取到日期的哪个部分)。

    • 举例:

      • 第八章 Oracle中的日期型介绍_第5张图片
    • 以上示例可知,trunc()函数的作用为屏蔽至某个时间位,将屏蔽部分置为最小值。

    • oracle中trunc()函数的屏蔽位与格式代码:

      • 第八章 Oracle中的日期型介绍_第6张图片
  • 返回当前会话时区的时间戳:current_timestamp()

    • 在这里插入图片描述
  • 返回日期的某个域:extract(域名 from 日期);

    • 日期中的年、月、日、时、分、秒 等可以看作日期的域。extract()函数可以从一个日期中分解出各个域。

    • Oracle 日期中的域及域代码的列表

      • 第八章 Oracle中的日期型介绍_第7张图片
    • 举例:

      • 注意:使用日期型无法分解小时、分钟、秒等信息

        • 第八章 Oracle中的日期型介绍_第8张图片
      • 使用时期时间型分解需要的时间域信息

        • 第八章 Oracle中的日期型介绍_第9张图片

        • 第八章 Oracle中的日期型介绍_第10张图片

  • 将日期转换为字符串:to_char(日期,格式)

    • 在这里插入图片描述

    • Oracle定义了to_char()函数的日期格式代码,如下:

      • 第八章 Oracle中的日期型介绍_第11张图片

你可能感兴趣的:(oracle,oracle)