我需要在 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 中使用该语法,因为它具有有趣的功能。 我必须测试的查询不是由我编写的,更改语法不是一种选择。
答案 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