MySQL语法检查参数是否为null

时间:2016-07-25 15:11:10

标签: mysql database

如果给定参数存在,我正在寻找执行MySQL语句检查的方法。我记得我可以在Oracle中执行以下操作来实现:

select s.* from Site s 
where s.study = :study
and (:enabled is null or s.enabled = :enabled)

在MySQL中也有可能吗?相同的代码执行时没有错误,但从不返回任何记录。

我的目标是避免在我的java代码中使用多个lfs和elses。当启用参数为null时,它应该以查询的方式工作:

select s.* from Site s 
where s.study = :study

,如果参数不为null,那就是这样:

select s.* from Site s 
where s.study = :study
and s.enabled = :enabled

我想用一个查询来做到这一点

2 个答案:

答案 0 :(得分:0)

我相信这就是你所要求的:

config.autoload_paths << "#{Rails.root}/lib/expensive_service"

答案 1 :(得分:0)

不幸的是,它高度依赖于数据库驱动程序。我的初始查询在数据库工具中运行时起作用,但在由JPA运行它时并不需要。所以我要关闭这个问题,因为它不需要进一步的答案。我很抱歉浪费你的时间。