**结束。**此问题需要详细的调试信息。它目前不接受答案。
**想改进这个问题吗?**更新问题,使其成为堆栈溢出的主题。
上个月关门了。
改进这个问题
我正在将oracle数据库查询转换为postgresql查询。oracle查询中的日期值有空参数。我已经搜索过了,但找不到任何有关postgresql查询的内容。postgresql查询中的空日期值可以使用什么?任何帮助都将不胜感激。谢谢。
edit:我使用的是java,oracle查询是
INSERT INTO tableName (name, age, date) VALUES(?,?,?)
值为“james”、“10”、null。
在postgres查询中,当我尝试将null作为参数时,它会给出一个异常。
1条答案
按热度按时间kse8i1jr1#
热释光;博士
路过
null
在javajdbc代码中作为PreparedStatement::set…
导致数据库行中出现空值。例外情况:如果用
NOT NULL
,那么这样的提交当然会被数据库系统拒绝。在java中传递null
您的问题不完整,应根据发布的评论重写。
但我可以展示一些通用的示例代码供您阅读。路过
null
在java中,通过jdbc将导致数据库中出现空值。下面是一个使用h2数据库引擎的完整示例应用程序。h2是关系数据库的纯java实现,可以像任何其他依赖项一样拉入示例应用程序。
我希望postgres上也会运行同样的代码。
运行时:
提示:避免使用关键字命名数据库中的列或其他对象,例如
date
. 不幸的是,在不同的数据库系统中有超过一千个关键字和保留字。因此,避免所有这些都是棘手的。我的解决方案是:我用一个尾随下划线命名所有数据库对象。sql规范明确承诺在任何命名中都不会使用尾随下划线。顺便说一下,不需要在表中存储年龄。给定存储的日期,可以在sql查询或java代码中动态计算年龄。