Java 当查询结果为空时,如何使方法调用返回空字符串而不是NULL的SQL查询?

Java 当查询结果为空时,如何使方法调用返回空字符串而不是NULL的SQL查询?,java,selenium,automation,Java,Selenium,Automation,我有一个方法,它在数据库中运行一个JDBC调用,以收集预期的结果,然后使用另一个使用Selenium的方法从UI收集的结果对这些结果进行断言 我在这里面临的问题是,查询可能不会得到任何结果,因此当我调用将返回字符串的方法时,当查询结果为空时,它实际上会返回NULL 当我试图针对UI值进行断言时,这会导致问题。Selenium将为所讨论的值返回一个空字符串,而db将返回NULL 因此,为了使我的assertEquals匹配,理想情况下,我希望db方法返回“”而不是NULL 我尝试了.replace

我有一个方法,它在数据库中运行一个JDBC调用,以收集预期的结果,然后使用另一个使用Selenium的方法从UI收集的结果对这些结果进行断言

我在这里面临的问题是,查询可能不会得到任何结果,因此当我调用将返回字符串的方法时,当查询结果为空时,它实际上会返回NULL

当我试图针对UI值进行断言时,这会导致问题。Selenium将为所讨论的值返回一个空字符串,而db将返回NULL

因此,为了使我的assertEquals匹配,理想情况下,我希望db方法返回“”而不是NULL

我尝试了.replace和IF语句,但它总是返回NULL

我的JDBC方法中的代码如下所示:

String strMedicare = rs.getString("_Provider_Number");
return strMedicare;

在SQL端处理此问题的一种方法是将查询修改为以下内容:

SELECT COALESCE(_Provider_Number, '') AS _Provider_Number
FROM yourTable
...

然后,数据库将自动返回空字符串,以防提供者编号为空。

谢谢。我确实想从查询端解决这个问题,但问题是查询甚至不返回空行,它只返回一个空行,因此查询结果=0行。@Matt那么在这种情况下,您应该真正将其视为SQL问题,向我们展示您的示例数据,以及查询。请参见
String strMedicare=“”+rs.getString(“_Provider_Number”);
感谢您的回复。我最终采用了@ScaryWombat链接的方法,首先进行行计数,然后通过返回的if语句传递代码”“是rowcount=0。感觉像是一个冗长的方法,但它是有效的。刚刚看到@BillHileman的评论,这似乎是我实现的最快的解决方案。