【问题标题】:How to replace Null with empty string in Java insert prepared statement如何在Java插入准备好的语句中用空字符串替换Null
【发布时间】:2020-10-07 14:30:57
【问题描述】:

我有 API 响应,我正在使用 Java insertprepared 语句在 DB 表中插入值。 来自 API 响应的少数列值是-null。我想用我的表中的空字符串替换这个空值。有人可以帮忙写一段代码吗?

代码sn-p:

PreparedStatement stmt = conn.prepareStatement(query);
stmt.setDate(1, formatDate(obj.getString("term_dt")));

【问题讨论】:

  • 类似这样的东西:v==null ? "" : v
  • 调用formatDate时使用""有意义吗?可能您应该致电PreparedStatement's method setNull 或提供适当的默认值?
  • 谢谢伙计们,我尝试了 if 语句并且它有效 :if((obj.getString("term_dt"))!="null"){ stmt.setDate(1, formatDate(obj.getString ("term_dt"))); } 其他{ stmt.setString(1,""); }

标签: java sql jdbc


【解决方案1】:

您可以使用三元运算符来保持代码简洁。

PreparedStatement stmt = conn.prepareStatement(query);
stmt.setDate(1, term_dt!=null ? formatDate(obj.getString("term_dt")) : "");

【讨论】:

    【解决方案2】:

    您可以使用Objects.toString(obj.getString("term_dt"), "")。它比使用三元运算符要短一些。

    【讨论】:

      猜你喜欢
      • 2021-03-27
      • 2022-01-19
      • 1970-01-01
      • 2017-01-22
      • 2017-03-15
      • 1970-01-01
      • 2018-11-20
      • 2013-10-27
      • 1970-01-01
      相关资源
      最近更新 更多