BayaiM__ oracle函数_03_fjfl

BayaiM__ oracle函数_03_fjfl

 
select  TO_DATE(trunc(F_GXSJ),'YYYY-MONTH-DD')  from fsxx_dx_log_new      where trunc(F_GXSJ)=TO_DATE()
select  trunc(F_GXSJ)  from fsxx_dx_log_new    -- 2012-10-26
select  SUBSTR(TO_CHAR(trunc(F_GXSJ),'YYYY-MM-DD'),6,2)  from fsxx_dx_log_new   --10
select  to_date(to_char(F_GXSJ,'yyyy-mm-dd'),'yyyy-mm-dd')  from fsxx_dx_log_new  --2012-10-26

select  TO_CHAR(trunc(F_GXSJ),'YYYY-MM-DD')  from fsxx_dx_log_new
select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') as nowTime from dual;   --   2012-12-20 14:20:27  
select to_char(sysdate,'yyyy') as nowYear   from dual;   //获取时间的年,2012
select to_char(sysdate,'year') as nowYear   from dual;   //获取时间的年,twenty twelve
select to_char(sysdate,'mm')    as nowMonth from dual;   //获取时间的月,12
select to_char(sysdate,'month')    as nowMonth from dual;   //获取时间的月,12月 
select to_char(sysdate,'dd')    as nowDay    from dual;  //获取时间的日 ,20 
select to_char(sysdate,'day')    as nowDay    from dual; //获取时间的星期几 ,星期四 
select to_char(sysdate,'hh24') as nowHour   from dual;   //获取时间的时  ,14
select to_char(sysdate,'mi')    as nowMinute from dual;   //获取时间的分 ,19
select to_char(sysdate,'ss')    as nowSecond from dual;   //获取时间的秒 ,50


5.0==trunc[截断到最接近的日期,单位为天] ,返回的是日期类型


select sysdate S1,                     
     trunc(sysdate) S2,              /*   //返回当前日期,无时分秒*/
     trunc(sysdate,'year') YEAR,     /*   //返回当前年的1月1日,无时分秒*/
     trunc(sysdate,'month') MONTH ,  /*   //返回当前月的1日,无时分秒*/
     trunc(sysdate,'day') DAY       /*    //返回当前星期的星期天,无时分秒*/
   from dual 
   
--   2012-12-20 14:28:35  2012-12-20  2012-1-1  2012-12-1  2012-12-16


6.0==round[舍入到最接近的日期](day:舍入到最接近的星期日)


select sysdate S1,
   round(sysdate) S2 ,
   round(sysdate,'year') YEAR,
   round(sysdate,'month') MONTH ,
   round(sysdate,'day') DAY from dual 


  -- 2012-12-20 14:36:35 2012-12-21 2013-1-1 2013-1-1 2012-12-23
  


7.0=.查找月的第一天,最后一天


     SELECT Trunc(Trunc(SYSDATE, 'MONTH') - 1, 'MONTH') First_Day_Last_Month,
       Trunc(SYSDATE, 'MONTH') - 1 / 86400 Last_Day_Last_Month,
       Trunc(SYSDATE, 'MONTH') First_Day_Cur_Month,
       LAST_DAY(Trunc(SYSDATE, 'MONTH')) + 1 - 1 / 86400 Last_Day_Cur_Month
   FROM dual; 
   
   --   2012-11-1 2012-11-30 23:59:59 2012-12-1 2012-12-31 23:59:59
   
8.0=

select to_date(to_char(F_GXSJ,'yyyy-mm-dd'),'yyyy-mm-dd')-2 days   from fsxx_dx_log_new 
select to_date(to_char(F_GXSJ,'yyyy-mm-dd'),'yyyy-mm-dd')-2 months   from fsxx_dx_log_new 
select to_date(to_char(F_GXSJ,'yyyy-mm-dd'),'yyyy-mm-dd')-2 years   from fsxx_dx_log_new 

每年的1月1日:  Trunc(TO_DATE('2012-05-19','YYYY-MM-DD'), 'YEAR') 
没月的第一天:  Trunc(TO_DATE('2012-05-19','YYYY-MM-DD'), 'MONTH'
原文地址:https://www.cnblogs.com/bayaim/p/9437203.html