【问题标题】:unrecognized token '(' in values list, expecting ')'无法识别的标记“(”在值列表中,期待“)”
【发布时间】:2013-02-02 06:22:44
【问题描述】:

我正在尝试使用 JDBC 准备语句插入 Oracle 数据库。下面是我要插入的 sql。

每次我得到以下 SQL 的 sql 异常

private static String insertSQL = "INSERT INTO USER_COPY (ID, CREATION_DATE, LAST_MODIFIED_DATE) VALUES ('123456789', TO_TIMESTAMP('2013-02-01 12:37:40.315'), TO_TIMESTAMP('2013-02-01 12:37:40.315'))";

例外

unrecognized token '(' in values list, expecting ')'

表格属性

ID is String
CREATION_DATE timestamp
LAST_MODIFIED_DATE timestamp

我的 SQL 有什么问题吗?

【问题讨论】:

  • 为什么在最后?
  • 我贴错了。忘记删除那个了​​。现在用正确的 sql 更新了问题。
  • 尝试用转义的双引号替换单引号。
  • 您能否提供我需要执行的sql语法,因为我无法理解您刚才提到的内容。

标签: java sql oracle jdbc prepared-statement


【解决方案1】:

我想知道这是否不是您的时间戳格式?这对我有用TO_TIMESTAMP:

CREATE TABLE USER_COPY (ID int, CREATION_DATE TimeStamp, LAST_MODIFIED_DATE TimeStamp);

INSERT INTO USER_COPY (ID, CREATION_DATE, LAST_MODIFIED_DATE)
VALUES ('123456789',
        TO_TIMESTAMP('2013-02-01 12:37:40.315', 'YYYY-MM-DD HH24:MI:SS.FF'), 
        TO_TIMESTAMP('2013-02-01 12:37:40.315', 'YYYY-MM-DD HH24:MI:SS.FF')
        );

这里是SQL Fiddle

祝你好运。

【讨论】:

    猜你喜欢
    • 2016-10-02
    • 2020-12-17
    • 1970-01-01
    • 2015-10-04
    • 1970-01-01
    • 1970-01-01
    • 2015-11-15
    • 1970-01-01
    • 2012-08-13
    相关资源
    最近更新 更多