【问题标题】:while passing string to date it showing error java.sql.SQLException: ORA-00917: missing comma在将字符串传递到日期时,它显示错误 java.sql.SQLException: ORA-00917: missing comma
【发布时间】:2021-10-16 18:46:17
【问题描述】:
String Insert_data= "Insert into online_table(online_id,online_email,to_char(online_Date,'dd-mom-yy') online_date "+ 
                    "values(?,?,?)";

我正在尝试从 Postman 更改插入数据。在 online_date 是数据库中的日期格式,但在 Java 实体文件中,我将 online_date 保留为字符串格式。我正在尝试在数据库中插入记录时将字符串转换为日期格式。

【问题讨论】:

  • Insert into online_table(online_id,online_email,online_Date+ values(?,?,to_char(?,'dd-mom-yy')); 工作吗?
  • 其实你使用的是Spring-boot那为什么不能使用Spring JPA来保存实体,DRY(不要重复自己)如果有一个现有的实用程序可以轻松地服务于目的直到没有其他方法可以做到为止
  • 1) 您向我们展示的内容不是有效的(可编译的)Java。很明显这不是你真正的代码。 2)尝试打印出查询字符串扩展的内容。然后仔细看一下,并与Oracle SQL语法等进行比较。

标签: java spring oracle spring-boot


【解决方案1】:

我在插入记录时尝试将字符串转换为日期格式 数据库。

那么您应该使用 TO_DATE,而不是 TO_CHAR。

TO_CHAR 将 DATE 作为输入并返回 VARCHAR2。 TO_DATE 将 STRING 作为输入并返回一个 oracle DATE。 oracle DATE 是一种二进制结构,不是人类可读的格式。

请使用 4 位数的年份。我在 1998-1999 年花了太多时间来修复 Y2K 问题,只是为了看到它在 20 多年后重现。

【讨论】:

    猜你喜欢
    • 2013-10-07
    • 1970-01-01
    • 2016-01-30
    • 2015-06-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多