zoukankan      html  css  js  c++  java
  • 日期转换函数

    • --时间格式
    1   --yyyy-MM-dd HH:mi:ss
    2   --HH默认24小时制 1-23:59:59
    3   --HH12表示12小时制 1-12
    • --to_char()将日期转换成字符串
    1   select sysdate from dual;
    2   select to_char(sysdate,'yyyy-MM-dd HH:mi:ss') from dual;
    • --to_date()将字符串转换成日期
    1 select to_date('2019-12-12','yyyy-MM-dd HH:mi:ss') from dual;
    2 select * from ttt_demo01;
    3 insert into ttt_demo01 values(102,'scott',200.99,to_date('1992-11-2','yyyy-MM-dd HH:mi:ss'));
    • --转换含有数字的字符串
    1 select to_number('1233.456') from dual; 
    2 SELECT TO_TIMESTAMP('2016-12-12 12:23:34', 'YYYY-MM-DD HH:MI:SS') FROM DUAL;
    3 --添加了时区
    4 SELECT TO_TIMESTAMP_TZ('2016-12-12 12:23:34 8:00', 'YYYY-MM-DD HH24:MI:SS TZH:TZM') FROM DUAL;

    ---日期操作函数

    --截取目标日期里的时间,比如获取当前系统时间的年、月、日
    --注意在截取当前系统时间的年月日,可以直接写成 year/month/day from sysdate
    --但是hour minute second不可以这么写,需要先转换成字符串,再转换成日期

    1   select extract( year from sysdate) from dual;
    2   select extract( month from sysdate) from dual;
    3   select extract( day from sysdate) from dual;
    4 
    5   select extract( second from to_timestamp(to_char(sysdate,'YYYY-MM-DD HH24:MI:SS'),'YYYY-MM-DD HH24:MI:SS')) from dual;
    6 
    7   select extract(hour from TO_TIMESTAMP('2016-12-12 12:23:34', 'YYYY-MM-DD HH24:MI:SS')) from dual;
    8   select extract(minute from TO_TIMESTAMP('2016-12-12 12:23:34', 'YYYY-MM-DD HH24:MI:SS')) from dual;
    9   select extract(second from TO_TIMESTAMP('2016-12-12 12:23:34', 'YYYY-MM-DD HH24:MI:SS')) from dual;

    --计算月差:两个日期之间相差的月数
    --注意:计算结果是第一个参数减第二个参数
      select months_between(sysdate,to_date('1995-11-11','YYYY-MM-DD HH:mi:ss'))from dual;

      select months_between
      (to_date('1980-11-1','YYYY-MM-DD HH:mi:ss'),
      to_date('1995-11-11','YYYY-MM-DD HH:mi:ss'))from dual;

    • --添加月数

      select add_months(sysdate,2)from dual;
      select add_months(to_date('2017-11-1','YYYY-MM-DD HH:mi:ss'),-13)from dual;

    • --获取当前系统时间以后的时间(星期)

      --一周的组合以下周的日期(本周已过的日期或者正在过的日期)
      --和本周的日期(本周还未过的日期)加起来
      select next_day(sysdate,'Monday') from dual;--下周一
      select next_day(sysdate,'Tuesday') from dual;--下周二
      select next_day(sysdate,'Wednesday') from dual;--下周三
      select next_day(sysdate,'Thursday') from dual;--本周四
      select next_day(sysdate,'Friday') from dual;--本周五
      select next_day(sysdate,'Saturday') from dual;--本周六
      select next_day(sysdate,'Sunday') from dual;--本周日

    • --每个月的最后一天

      select last_day(sysdate)from dual;
      select last_day(to_date('2016-2-1','YYYY-MM-DD'))from dual;

    • --对日期的四舍五入

      select round(sysdate,'year') from dual;
      select round(sysdate,'month') from dual;

    • --对年的四舍五入 分界点是6月和7月

      select round(to_date('2017-6-1','YYYY-MM-DD'),'year') from dual;
      select round(to_date('2017-7-1','YYYY-MM-DD'),'year') from dual;

    • --对月的四舍五入 分界点是15日和16日

      select round(to_date('2017-6-1','YYYY-MM-DD'),'month') from dual;
      select round(to_date('2017-6-15','YYYY-MM-DD'),'month') from dual;
      select round(to_date('2017-6-16','YYYY-MM-DD'),'month') from dual;

      select round(to_date('2016-2-15','YYYY-MM-DD'),'month') from dual;
      select round(to_date('2016-2-16','YYYY-MM-DD'),'month') from dual;

    • --截取日期

      --此处的day表示星期几
      --获取离当前时间最近的星期日(已经过了的)
      select trunc(sysdate,'day')from dual;

    • --获取年初

      select trunc(to_date('2017-5-5','yyyy-MM-dd'),'year')from dual;
      select trunc(to_date('2016-5-5','yyyy-MM-dd'),'year')from dual;

  • 相关阅读:
    MIPS笔记
    花生壳动态域名解析工具原理
    SEE MIPS RUN 第六章 内存管理与TLB
    C/C++动态内存创建与内存管理
    ngclass 用法
    看了一个烟花的html作品 引用:http://www.w3cfuns.com/blog54440495404365.html
    ngclip angualr 的copy功能
    学习技术的方法
    restful restAPI 的定义方式
    我与计算机
  • 原文地址:https://www.cnblogs.com/chen8023miss/p/11229651.html
Copyright © 2011-2022 走看看