oracel 中关于时间日期的取值和转化

1.首先是日期转化的两种格式,一般用第二种多吧。
to_date("要转换的字符串","转换的格式")   两个参数的格式必须匹配,否则会报错。即按照第二个参数的格式解释第一个参数。
to_char(日期,"转换格式" ) 即把给定的日期按照“转换格式”转换。

      取系统当前时间 并转化成 yyyy-mm-dd(年月日格式)
       to_char(sysdate,'yyyy-mm-dd')

2.下面要用到add_months()函数  负数:代表往前  正数:代表往后。

   根据系统当前时间,取到上个月月底(上个月最后一天)并转化
       to_char(last_day(add_months(sysdate,-1)),'yyyy-mm-dd')
   根据系统当前时间,取到上个月月初(上个月第一天) 并转化
       to_char((LAST_DAY(ADD_MONTHS(SYSDATE, -2)) + 1,'yyyy-mm-dd')

3.dual是oracle中的伪表。
    具体含义:Dual 是 Oracle中的一个实际存在的表,任何用户均可读取,常用在没有目标表的select语句块中

    根据系统当前时间 取上一个月 并转化
        select to_char(add_months(trunc(sysdate),-1),'yyyymm') from dual;
    根据系统当前时间 取下一个月 并转化
       select to_char(add_months(trunc(sysdate),1),'yyyymm') from dual;


4.TRUNC函数为指定元素而截去的日期值。
函数方法:TRUNC(date,[fmt])
date:代表日期,  fmt:代表日期格式

 trunc(sysdate,'yyyy') --返回当年第一天。  2017-01-01
    trunc(sysdate,'mm') --返回当月第一天。   2017-07-01
 trunc(sysdate,'d') --返回当前星期的第一天。2017-07-17 
 trunc(sysdate,'dd')--返回当前年月日      2017-07-19
    trunc (sysdate, 'hh') -- 返回当前时间  小时    2017-07-19 10:00:00 当前时间为 10点11分  
    trunc (sysdate, 'mi') -- 返回当前时间  分钟   2017-07-19 10:11:00  trunc函数不精确到秒




  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值