從dual中選擇localtimestamp;如何避免localtimestamp的毫秒部分?
以上查詢顯示此格式的結果爲22-FEB-12 04.27.02.225354000 PM。
如何編寫查詢來獲取2月22日,12 02年4月27日下午
從dual中選擇localtimestamp;如何避免localtimestamp的毫秒部分?
以上查詢顯示此格式的結果爲22-FEB-12 04.27.02.225354000 PM。
如何編寫查詢來獲取2月22日,12 02年4月27日下午
或者:
select current_date from dual;
或者:
select to_char(localtimestamp,'dd-MON-yyyy hh.mi.ss AM') from dual;
雖然沒有返回timestamp
格式。
謝謝...第二個工程.. – user1148952 2012-02-22 11:24:11
試試這個:
SELECT TO_CHAR(dateColumn, 'YYYY-MM-DD HH12.MI.SS PM')
檢查在TO_CHAR函數的詳細信息的文件,以及支持格式:
http://docs.oracle.com/cd/B19306_01/server.102/b14200/functions180.htm#i1009324
http://docs.oracle.com/cd/B19306_01/server.102/b14200/sql_elements004.htm
如果其結果必然是一個TIMESTAMP有幾個選項。嘗試運行以下:
SELECT LOCALTIMESTAMP,
CAST(LOCALTIMESTAMP AS TIMESTAMP(0)) AS CAST_TIMESTAMP0,
CURRENT_DATE,
CAST(CURRENT_DATE AS TIMESTAMP) AS DATE_CAST_TO_TIMESTAMP,
TO_TIMESTAMP(TO_CHAR(LOCALTIMESTAMP, 'DD-MON-YYYY HH24:MI:SS'), 'DD-MON-YYYY HH24:MI:SS') AS CHAR_TIMESTAMP,
CAST(TO_TIMESTAMP(TO_CHAR(LOCALTIMESTAMP, 'DD-MON-YYYY HH24:MI:SS'), 'DD-MON-YYYY HH24:MI:SS') AS TIMESTAMP(0)) AS TRUCATED_TIMESTAMP
FROM DUAL
注意,CAST_TIMESTAMP0,CURRENT_DATE,和DATE_CAST_TO_TIMESTAMP值四捨五入到最接近的第二而非截短 - 重新運行查詢直到LOCALTIMESTAMP的小數部分是0.5和1.0之間,看這個。如果四捨五入值是可以接受的,那麼你可以很好地去使用。如果不是,您可能需要使用最後兩個版本將時間戳轉換爲字符串並再次返回。
還要注意,上面的CHAR_TIMESTAMP值仍然有默認的小數位數,但都是零。如果你不想要這個,你需要使用TRUNCATED_TIMESTAMP值。
分享和享受。
這只是實際數據的字符串表示形式。無論何時將其展示給用戶,您都可能會應用格式。那麼爲什麼要在數據庫級別上打擾呢? – Joey 2012-02-22 11:11:00