0

- 工作正常 -

SELECT COLUMNS 
  FROM TABLE 
 WHERE
    AND RECORDDATE = TRUNC((TO_TIMESTAMP('14/12/2012 12:00:00', 
                                         'DD/MM/YYYY HH24:MI:SS')
                            ))

但是当我创建变量HISTDATE并尝试输入

TO_TIMESTAMP('14/12/2012 12:00:00', 'DD/MM/YYYY HH24:MI:SS')

在运行时进入变量,它给出错误说“预期的 TIMESTAMP 得到 NUMBER”

SELECT COLUMNS 
  FROM TABLE 
 WHERE RECORDDATE = TRUNC(:HISTDATE) 

即使输入相同的值也不起作用

4

2 回答 2

0

如果可以,请执行以下操作:

询问:

SELECT COLUMNS 
  FROM TABLE 
 WHERE
    AND RECORDDATE = TRUNC((TO_TIMESTAMP(:HISTDATE, 
                                         'DD/MM/YYYY HH24:MI:SS')
                            ))
;

:HISTDATE 的输入
14/12/2012 12:00:00

于 2013-08-23T13:16:24.687 回答
0

根据我所做的测试,查询没有任何问题。同一个查询

SELECT COLUMNS 
  FROM TABLE 
 WHERE RECORDDATE = TRUNC(:HISTDATE) 

作为过程的一部分工作正常,但无法作为直接 sql 查询成功执行。可能是因为sql查询和程序是在oracle中编译的

于 2013-08-27T06:09:17.367 回答