gmdzxx 发表于 2018-9-15 06:12:14

Oracle的日期函数

Oracle的日期函数to_char、to_date、add_months、months_between、extract
  1.sysdate:显示系统当前日期
  select sysdate from dual;
  结果:2010-7-1 10:53:49
  select sysdate+2 from dual;在当前的时间上加2天,一般不要这么用
  结果:2010-7-3 10:56:58
  2.顺便提一下to_char(),可以对日期进行格式化:
  select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') from dual;
  格式化后,结果不是date型了。
  3.add_months:对月进行加减操作
  select sysdate 原时间,add_months(sysdate,5) 月加5后的时间 from dual;
  结果:2010-7-1 11:01:57      2010-12-1 11:01:57
  同样可以用to_char进行格式化,在条件判断的时候挺有用的。
  4.months_between:计算2个月份之间的差,参数必须是日期类型,前参数-后参数
  select months_between(to_date(200906,'yyyymm'),to_date(201006,'yyyymm')) from dual;
  结果:-12
  5.to_date:将数字或字符串,按严格的格式转换成日期类型
  select to_date(20100621,'yyyy:mm:dd') from dual;
  结果:2010-6-21
  看到结果,可以知道,无论格式怎样,最后都是以“—”分隔,但是,如果你格式这么写'yyyy年mm月dd日',就会报错。
  6.extract:找出日期属性的对应字段值,extract(data_field from date),data_field(year,month,day等)
  select extract(day from sysdate) from dual;
  结果:加入当前日期是2011-07-11,值为11

页: [1]
查看完整版本: Oracle的日期函数