gpt4 book ai didi

java - 如何使用 Java 将 SQL Server 2012 中的 NULL 转换为 oracle 中的空值(n/a)

转载 作者:行者123 更新时间:2023-11-29 03:02:23 25 4
gpt4 key购买 nike

我想提前感谢您的所有回复。我这里有一个小问题,我似乎无法在 sql server 数据库中获取 NULL 值以在 oracle 中读取为 n/a 值。所以现在 oracle 中引用的列被设置为"is"可以为空。我写了一个小代码将 sql developer 中的 NULL 转换为 oracle 中的“”,这反过来会返回 n/a 但看不到工作:

while (rs.next()) {
// Set into INSERT the values SELECTED
psinst.setString(1, rs.getString("MATERIAL_NUMBER"));
psinst.setString(2, rs.getString("BATCH_NUMBER"));
System.out.println(rs.getString("VENDOR_BATCH_NUMBER"));
VendorBatchNumber = rs.getString("VENDOR_BATCH_NUMBER");
if (VendorBatchNumber == null || VendorBatchNumber == "" || VendorBatchNumber == "NULL") {
VendorBatchNumber = "";
} else {
VendorBatchNumber = rs.getString("VENDOR_BATCH_NUMBER");
}
psinst.setString(3, VendorBatchNumber);
}

所以基本上我将 VendorBatchNumber 变量设置为 sql server 数据库中的值。当我写下一行时:

System.out.println(rs.getString("VENDOR_BATCH_NUMBER"));

NULL 实际上被打印到控制台。根据该假设,上面的以下 if 语句:

if (VendorBatchNumber == null || VendorBatchNumber == "" || VendorBatchNumber == "NULL"){
VendorBatchNumber = "";
}

应该返回 "",这反过来会产生 n/a。由于某种原因,这个 if 语句不成立。我知道我在这里遗漏了一些小东西。有人可以帮我弄这个吗?再次感谢您,如果需要更多信息,请告诉我。

当我使用下面的sql语句时:

select COALESCE(VENDOR_BATCH_NUMBER , 'n/a') as VENDOR_BATCH_NUMBER FROM MATERIAL_BATCH;

我仍然得到相同的 NULL 值。似乎 COALESCE 不识别 NULL。

Vendor Batch Number

还有其他方法吗?此外,我正在尝试使用 SQL Developer for Oracle 进行转换。谢谢桑尼

最佳答案

只需使用 isnull()

select isnull(Quantity,'the value you want in place of null value')

关于java - 如何使用 Java 将 SQL Server 2012 中的 NULL 转换为 oracle 中的空值(n/a),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34034530/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com