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'
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'