gpt4 book ai didi

java - NULLIF() 出错?

转载 作者:行者123 更新时间:2023-11-30 05:51:20 28 4
gpt4 key购买 nike

请看下面的代码

public List<String> getNames()
{
List<String> names = new ArrayList();


try
{
createConnection();

Statement st = con.createStatement();
ResultSet rs = st.executeQuery("select NULLIF(names,' '),NULLIF(middleName,' '),NULLIF(lastName,' ') from PhoneData order by names asc");

while(rs.next())
{
String fullName = rs.getString(1)+" "+rs.getString(2)+" "+rs.getString(3);
names.add(fullName);
}

return names;

}
catch(Exception e)
{
e.printStackTrace();
return null;
}
finally
{
closeConnection();
}

我使用的是 Apache Derby,嵌入式版本。

我在这里检索 3 个项目,名字、中间名和姓氏。如果任何项目为空,那么我将尝试用空格填充它。但是,当我运行它并将它添加到组合框中时,我可以看到它没有用空格替换空值!!!所有空值都显示为“空”。例如,

FirstName = "John", MiddleName="", LastName="Laxter"

如您所见,MiddleName 为空。我期待的是

“约翰·拉克斯特”

我得到的是“John null Laxter”!!!为什么是这样?请帮忙!当我使用 MS SQLServer 时,我没有遇到这个问题(然后 NULLIF 是 isNull())。这里出了什么问题?请帮忙!!

最佳答案

更好地使用COALESCE

SELECT COALESCE(names,' '),...

关于java - NULLIF() 出错?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12883200/

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