Oracle SQL Developer中的时间戳文字

时间:2017-09-22 13:40:07

标签: sql oracle-sqldeveloper ojdbc

我需要在 Oracle SQL Developer 上测试sql查询。 这些查询包含格式为

的时间戳文字

{ts 'yyyy-mm-dd hh:mm:ss.fff'}

Oracle SQL Developer 似乎不接受此语法,符号{导致错误 ORA-00911:无效字符

我能做些什么吗?

修改

sql编辑器告诉我不允许{。 我尝试使用其他两个工具( DbVisualizer DBeaver ),两者都使用 Oracle Thin 驱动程序,一切正常。

但是我仍然希望在 Oracle SQL Developer 中使用该语法,因为它具有有趣的功能。 我必须测试的查询不是由我编写的,更改语法不是一种选择。

3 个答案:

答案 0 :(得分:2)

使用实际的SQL时间戳文字:

TIMESTAMP 'yyyy-mm-dd hh:mm:ss.fff'

您使用的是JDBC escape syntax,它由JDBC驱动程序支持,但不由Oracle数据库本身支持。

答案 1 :(得分:0)

请参阅答案:How to convert date to timestamp(DD-MON-YYYY HH24:MI:SS.FF format) in oracle?

“{ts xxx}”语法特定于ODBC或OLEDB驱动程序...

答案 2 :(得分:0)

您可以使用CAST

select to_char(cast(sysdate as timestamp),'DD-MON-YYYY HH24:MI:SS.FF') from dual