2011-08-02 43 views
0

當我嘗試使用下面的查詢時,它不會給我任何輸出。它的oracle 8i客戶端連接到10g數據庫。問題與sqlplus中的to_char

SQL> SELECT (to_char(sysdate,'MM/DD/YYYY HH24:MI:SS')) from dual; 

(TO_CHAR(SYSDATE,'M 
------------------- 


SQL> 

而且,沒有to_char函數的查詢沒有任何問題。 當我在另一個連接到10g的8i客戶端使用相同的命令時,它的工作正常。 我比較了SQL會話設置,它們看起來相同。

對此的任何投入都非常感謝。

+0

你能證實這對我嗎? 10g db是否可以從兩個不同的8i客戶端訪問同一個數據庫?此外,客戶還沒有被移動到10g的任何特定原因? (可能是兼容性,但總是一個很好的問題。)最後,當你選擇COUNT(1)FROM DUAL時,你會得到什麼? (正確答案是「1」) –

+0

出於好奇 - 嘗試'選擇轉儲(to_char(SYSDATE,'MM/DD/YYYY HH24:MI:SS'))FROM dual;'返回NULL嗎?其他? –

回答

0

嘗試

SELECT to_char(sysdate,'MM/DD/YYYY HH24:MI:SS') as formmated_date from dual; 
+0

謝謝,但仍然沒有運氣:「它顯示相同的東西SQL> SELECT to_char(sysdate,'MM/DD/YYYY HH24:MI:SS')作爲formably_date從雙; FORMMATED_DATE -------- ----------- SQL> – user1

+0

如果剛剛從雙精度運行select_to_char(sysdate,'MM')作爲current_month會發生什麼?? –

+0

當我使用to_char時,它只是給了我空白輸出如下所示SQL> select to_char(sysdate,'MM')as current_month from dual; 但是當我從雙重選擇sysdate時,它給了我輸出:我相信它是一個帶有t-_char或某種格式的prolem客戶只,但不知道要檢查什麼..謝謝 CU - SQL> select to_char(sysdate)as dual_month from dual; CURRENT_MONTH ------------------- SQL> select dual; SYSDATE --------- 02-AUG-11 SQL> – user1

1

檢查客戶端可執行文件的日期和CRC校驗和。我懷疑有一個是有bug的舊版本。你不給不同的客戶端的底層平臺,所以它可能是(例如)Windows中存在的錯誤,但不是* nix

你是否在客戶端上使用'odd'字符集。可能會有一些不需要的字符集轉換。

爲什麼使用8i客戶端?

升級到新客戶端(例如Database Express Edition client)可能是合適的。

您能得到什麼,如果你儘量選擇直VARCHAR2變量(例如SELECT DUMMY FROM DUAL

PS。社區維基,以便任何人都可以添加建議和代碼片段