• oracle中关于日期的获取


    最近的一个功能定时任务要求在当天凌晨2点生成前一天的数据。涉及到数据库时间的操作,特此记录一下,整理关于日期获取的笔记如下

    -- 获取当前系统的前一天日期0点到23:59:59的时间
    select  TRUNC(SYSDATE - 1) , TRUNC(SYSDATE - 1)+1-1/86400  from dual;
    --获取当天时间的0时0分
    select TRUNC(SYSDATE) FROM dual;
    --获取当天时间的23点59分59秒(在当天0时0分0秒的基础上加1天后再减1秒)
    SELECT TRUNC(SYSDATE)+1-1/86400 FROM dual;
    --取得当前日期是一个星期中的第几天,注意:星期日是第一天
    select to_char(sysdate,'D'),to_char(sysdate,'DAY') from dual;
    --获取当前月的第一天和最后一天
    select to_char(sysdate,'yyyy-mm')||'-01' firstday,to_char(last_day(sysdate),'yyyy-mm-dd') lastday from dual;
    --获取当前月份
    SELECT EXTRACT(MONTH FROM sysdate) FROM DUAL;
    --求出当前日期的下一个指定礼拜是几号,意思就是当前日期的下一个星期一是几号
    select next_day(sysdate,'星期一') from dual;
    --返回当前日期
    select trunc(sysdate)from dual;
    --返回当前小时
    select trunc(sysdate,'hh')from dual;
    --返回当前时间的分钟,没有秒的精确,只有毫秒。
    select trunc(sysdate,'mi')from dual;
    --返回当前星期的第一天(为星期天,工作的第一天为星期一)
    select trunc(sysdate,'d')from dual;
    --返回当前年份的第一天
    select trunc(sysdate,'yyyy')from dual;
    --返回当前月份的第一天
    select trunc(sysdate,'mm')from dual;
    --求当前月份的最后一天
    select last_day(sysdate) from dual;
    --求当前日期添加月份过后的日期
    select add_months(sysdate,2) from dual;
    --取出当前日期的年份 
    select extract(year from sysdate) from dual;
    --取出当前日期的月份
    select extract(month from sysdate) from dual;
    --取出当前日期的天数
    select extract(day from sysdate) from dual;
    --拼接日期,将年月日从系统中取出然后拼接年,月,日
    select extract(year from sysdate) ||''||extract(month from sysdate) ||''||extract(day from sysdate) ||'' from dual;
    --时间戳以获取精确的时间
    select systimestamp as 国际时间 from dual;
    --以指定格式获取日期
    select TO_CHAR(sysdate,'yyyy-mm-dd') from dual;
    --获取当前时间一个月之后的时间
    select add_months(sysdate,1)from dual;
    --获取到当前时间半年之后的时间
    select add_months(sysdate,6)from dual;
    
    --to_char()函数,将日期转换为字符串表示
    select to_char(sysdate,'yyyy"年"mm"月"dd"日"')from dual;
    --将数字转换为指定格式,例如转换为货币形式
    select to_char(123,'$9,999,999.99')from dual;
    --to_number()函数,将一个数字字符串转换为数字,以便进行计算
    select to_number('1234567.08') from dual;
    好的代码像粥一样,都是用时间熬出来的
  • 相关阅读:
    android 内存泄漏分析
    sublime text3
    Bind Service 不会在后台无限期的一直运行
    uint8_t / uint16_t / uint32_t /uint64_t 是什么数据类型?
    #include < >与#include “ ”
    什么是库?
    gcc编译器
    如何写C语言程序
    ubuntu登陆root用户验证失败
    nginx location匹配顺序及CI框架的nginx配置
  • 原文地址:https://www.cnblogs.com/jijm123/p/15389991.html
Copyright © 2020-2023  润新知