pl/sql developer中關於TIMESTAMP顯示格式的疑問和學習
ORACLE中的TIMESTAMP資料型別可能大家用的都比較少,所以即使最簡單的一個查詢返回的結果也會搞不清楚到底這個時間是什麼時間點。
比如:
27-1月 -08 12.04.35.877000 上午
這個時間到底是幾點呢?中午12:04分,那就錯了,其實使用to_char函式轉換後得到如下結果:
2008-01-27 00:04:35:877000
說明這個時間是凌晨的00:04分,而不是中午的12:04分。
首先來看一個實驗:
SELECT TO_CHAR(TO_DATE('2008-01-29 00:05:10', 'yyyy-mm-dd hh24:mi:ss'),'yyyy-mm-dd hh:mi:ss am') FROM DUAL
首先把一個00:05分的時間進行轉換,按照'yyyy-mm-dd hh:mi:ss am'格式進行轉換,得到的結果是:
2008-01-29 12:05:10 上午
這說明oracle在進行日期轉換成字串的過程中,如果小時轉換使用的是12進位制的格式,則凌晨00點會被認為是上午12點,然後才是上午1點、2點、3點。。。
oracle中12進位制的計時不是從0-11,而是從1-12的,所以如果是夜裡零點,你不能記成1點,那隻能記成12點了。(不知道這是不是跟洋人的習慣有關?)
那麼我們來看下ORACLE中對TIMESTAMP的處理:
SELECT VALUE FROM NLS_SESSION_PARAMETERS WHERE PARAMETER = 'NLS_TIMESTAMP_FORMAT'
返回結果DD-MON-RR HH.MI.SSXFF AM,可以看到,這裡預設情況下,使用的TIMESTAMP的格式是12進位制的小時。
問題到這裡已經找到根源了。
解決:
pl/sql developer中讀取的是登錄檔中設定的NLS_TIMESTAMP_FORMAT格式,那麼只要在登錄檔中設定oracle環境變數的地方(也就是設定ORACLE_HOME的地方)設定NLS_TIMESTAMP_FORMAT的格式(也就是建立這樣一個字串項,然後設定它的值為你轉換需要的掩碼,我一般設定為YYYY-MM-DD HH24:MI:SS:FF6),然後關掉PL/SQL DEVELOPER,再登陸進來,以後看到的TIMESTAMP時間就會自動轉換成你需要的格式了。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/25016/viewspace-998723/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- PL/SQL Developer顯示行號SQLDeveloper
- 【TOOLS】PL/SQL DEVELOPER 時間格式顯示效果調整方法SQLDeveloper
- pl/sql developer中文顯示亂碼SQLDeveloper
- pl/sql developer 顯示Window List視窗SQLDeveloper
- 顯示Pl/Sql Developer window list視窗SQLDeveloper
- PL/SQL DEVELOPER數字超長顯示了科學計數法SQLDeveloper
- [Tools] PL/SQL Developer設定時間格式SQLDeveloper
- 關於oracle日期格式顯示格式Oracle
- 關於DDD學習過程中的一些疑問
- PL/SQL Profiler 和SQL Developer 報表SQLDeveloper
- pl/sql developer的一個小問題SQLDeveloper
- Oracle資料庫PL/SQL Developer查詢結果顯示問號亂碼的解決方法Oracle資料庫SQLDeveloper
- ultraedit高亮顯示pl/sqlSQL
- PL/SQl Developer使用SQLDeveloper
- PL/SQL Developer 使用SQLDeveloper
- pl/sql developer使用技巧SQLDeveloper
- 關於UIImageView的顯示問題——居中顯示或者UIView
- 關於pl/sql中的繫結變數SQL變數
- 關於字典和陣列的疑問陣列
- 關於學習Python的疑問,你都清楚了嗎?Python
- 在學習中的一點疑問。
- PL/SQL Developer 連線 OracleSQLDeveloperOracle
- pl sql developer 8.0 register codeSQLDeveloper
- PL/SQL Developer下載地址和漢化包地址SQLDeveloper
- 關於原型模式的看法和疑問原型模式
- QI4J中關於entity的疑問
- PL/SQL Developer使用技巧、快捷鍵SQLDeveloper
- 【Oracle】Windows安裝pl/sql developerOracleWindowsSQLDeveloper
- corrupted block的一次處理和古舊版本的PL/SQL Developer問題BloCSQLDeveloper
- 關於TargetServiceFactoryVisitable的疑問
- 關於Proxy和Decorator設計模式的疑問設計模式
- 有關使用PL/SQL提高效能的學習:SQL
- pl/sql developer的一些設定SQLDeveloper
- PL/SQL Developer 不得不知的技巧SQLDeveloper
- sql嵌入html格式顯示報表SQLHTML
- 關於JDONJIVE中DbFilterManager中程式碼的疑問Filter
- PL/SQL 學習日記SQL
- 5. Oracle連線和使用——5.2. PL/SQL DeveloperOracleSQLDeveloper