1) 取出系统日期的年部分: extract(year from sysdate)2) 将取出的年部分转换成数字类型,然后减1就是上一年了 to_number(extract(year from sysdate))-1 3)取出系统日期的月份不:extract(month from sysdate)4)与之前的上一年份相连即可 select (to_number(extract(year from sysdate))-1...
SELECTTO_CHAR(SYSDATE,'YY')FROMDUAL; SYEAR或YEAR SYEAR使公元前的年份前加一负号 SELECTTO_CHAR(SYSDATE,'SYEAR')FROMDUAL;--TWENTY ELEVEN Q 季度,1~3月为第一季度 SELECTTO_CHAR(SYSDATE,'Q')FROMDUAL;--2表示第二季度 MM 月份数 SELECTTO_CHAR(SYSDATE,'MM')FROMDUAL;--04表示4月 RM 月份的罗...
四、年份加减: Oracle并不直接提供对年份进行加减的函数,不过有了add_months和months_between函数,我们照样可以做到。 【1】为当前日期加上2年: SQL>selectadd_months(sysdate,2*12)two_years_later 2fromdual; TWO_YEARS_ --- 30-6月-10 【2】求两个日期相差几年: SQL>selectmonths_between(sysdate, 2to...
四、年份加减: Oracle并不直接提供对年份进行加减的函数,不过有了add_months和months_between函数,我们照样可以做到。 【1】为当前日期加上2年: SQL>selectadd_months(sysdate,2*12)two_years_later 2fromdual; TWO_YEARS_ --- 30-6月-10 【2】求两个日期相差几年: SQL>selectmonths_between(sysdate, 2to...
3.1.1对日期型数据截去取整 TRUNC:表示对日期进行截取 下面是该函数的使用情况: SELECT trunc(SYSDATE), TRUNC(SYSDATE-1), SYSDATE-1, trunc(SYSDATE,'dd'),--返回当前年月日 trunc(SYSDATE,'d'),--返回当前星期的第一天。 trunc(SYSDATE,'mm'),--返回当月第一天。
-第2个字节:年份 -第3个字节:月份 -第4个字节:天 -第5个字节:小时+1 -第6个字节:分+1 -第7个字节:秒+1 -TIMESTAMP -11个字节,前7个同上 -8-11个字节:纳秒 systimestamp \ sysdate 函数 : 返回系统日期 select sysdate from dual; select systimestamp from dual; ...
with t as (select rownum - 1 rn from dual connect by rownum <= 1000)select to_char(add_months(trunc(sysdate), -rn), 'yyyy-mm') from t where to_char(add_months(trunc(sysdate), -rn), 'yyyy') between 2017 and 2018 order by to_char(add_months(trunc(sysdate), -rn)...
insert into test_date_2 values(2,sysdate-20);insert into test_date_2 values(3,sysdate-30);insert into test_date_2 values(4,sysdate-40);commit;3、查询表中全量数据,select t.* from test_date_2 t;4、编写语句,查询当月份的上一个月;select t.*, add_months(v_date,-1) v...
如果当前年份属于00-49,则返回成上世纪所在年份 如果当前年份属于50-99,则返回成本世界所在年份 注:这种自动转换只适用于 String -> Date 的转换,如果是 Date -> String,那就按照 Date 存储的值来转换,此时再用 RR/RRRR 已经没有意义了,因为 Oracle 内部存储的年份是四位数的。
SELECT to_char(sysdate, 'YYYYMMDD W HH24:MI:SS') FROM dual; 或者 SELECT to_char(sysdate, 'W') FROM dual;格式转换:将日期转换为特定格式,如年份、季度、月份、日期等,例如 SELECT to_char(sysdate, 'yyyy Q') FROM dual;时间调整:获取特定时间点,如凌晨0点:SELECT trunc(...