2011-08-02 40 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。社区维基,以便任何人都可以添加建议和代码片段