Java 在PostgreSQL中添加空日期值

Java 在PostgreSQL中添加空日期值,java,sql,postgresql,jdbc,Java,Sql,Postgresql,Jdbc,我正在将Oracle数据库查询转换为PostgreSQL查询。Oracle查询中的日期值有一个空参数。我已经搜索过了,但找不到PostgreSQL查询的任何内容。PostgreSQL查询中的空日期值可以使用什么?任何帮助都将不胜感激。谢谢 编辑:我正在使用Java,Oracle查询是 INSERT INTO tableName (name, age, date) VALUES(?,?,?) 值为“James”、“10”和null 在Postgres查询中,当我尝试将null作为参数时,它会给出

我正在将Oracle数据库查询转换为PostgreSQL查询。Oracle查询中的日期值有一个空参数。我已经搜索过了,但找不到PostgreSQL查询的任何内容。PostgreSQL查询中的空日期值可以使用什么?任何帮助都将不胜感激。谢谢

编辑:我正在使用Java,Oracle查询是

INSERT INTO tableName (name, age, date) VALUES(?,?,?)
值为“James”、“10”和null

在Postgres查询中,当我尝试将null作为参数时,它会给出一个异常。

tl;博士
  • 将Java代码中的
    null
    作为参数传递给
    PreparedStatement::set…
    将导致数据库行中出现null值。
    • 例外情况:如果您使用
      NOT NULL
      定义列,那么这样的提交当然会被数据库系统拒绝
在Java中传递
null
您的问题不完整,应根据发布的评论重写

但我可以展示一些通用的示例代码供您阅读。通过JDBC在Java中传递
null
,将导致数据库中出现null值

pstmt.setString(1,“John Doe”);

pstmt.setObject(2,null);//您可以使用
NULL
。这在Oracle、Postgres和其他所有数据库中都是一样的。这将有助于查看查询和您想要实现的目标的更详细的解释。请回答您的问题,并添加您正在使用的Java代码和您得到的确切例外情况(您的问题,不要在注释中添加代码或其他信息)您的数据库列是否允许空值?你能发布表格定义吗?另外,您得到的异常信息是什么?请粘贴到问题中。有相当多的信息,我们还没有得到,我们需要,以便能够帮助你。@OleV.V。您可以使用
date
作为字段名:
create table date\u name\u test(name varchar,age integer,date-date)
插入日期\姓名\测试(姓名、年龄、日期)值('adrian',39,'11/14/2020');插入0 1
。尽管如此,我不会在今后的道路上制造更少的混乱。