日期:2014-05-17  浏览次数:21148 次

oracle 本年最后一天最后一小时最后一秒
怎么样获得oracle 本年最后一天最后一小时最后一秒 和本年第一天0时0分0秒?
------最佳解决方案--------------------
这还不简单:

select to_char(getdate(),'YYYY') + '-12-31 23:59:59' from dual;


select to_char(getdate(),'YYYY') + '-01-01 00:00:00' from dual;

------其他解决方案--------------------
  
1* select to_char(trunc(sysdate,'year'),'yyyy-mm-dd hh24:mi:ss') from dual
SQL> /

TO_CHAR(TRUNC(SYSDA
-------------------
2010-01-01 00:00:00

------其他解决方案--------------------
'-12-31 23:59:59' from dual;

TO_CHAR(SYSDATE,'YY
-------------------
2010-12-31 23:59:59

SQL> select to_char(sysdate,'yyyy')
------其他解决方案--------------------
 '-12-31 23:59:59' from dual

TO_CHAR(SYSDATE,'YYYY')
------其他解决方案--------------------
SQL> select trunc(sysdate),add_months(trunc(sysdate)-1/24/60/60,12) from dual;
 
TRUNC(SYSDATE) ADD_MONTHS(TRUNC(SYSDATE)-1/24
-------------- ------------------------------
2010-11-4      2011-11-3 23:59:59
 
SQL> 

------其他解决方案--------------------
引用:
这还不简单:

select to_char(getdate(),'YYYY') + '-12-31 23:59:59' from dual;


select to_char(getdate(),'YYYY') + '-01-01 00:00:00' from dual;
语句不符合oracle的 
SQL> select to_char(sysdate,'yyyy')
------其他解决方案--------------------
'01-01 00:00:00' from dual;

TO_CHAR(SYSDATE,'Y
------------------
201001-01 00:00:00

------其他解决方案--------------------
引用:
这还不简单:

select to_char(getdate(),'YYYY') + '-12-31 23:59:59' from dual;


select to_char(getdate(),'YYYY') + '-01-01 00:00:00' from dual;

1楼按照sql server的习惯了。

oracle 如下:
select to_char(sysdate,'YYYY') 
------其他解决方案--------------------
'-12-
------------------------------
2010-12-31 23:59:59           
1 row selected

select to_char(sysdate,'YYYY')