java - 有没有办法让 NULL 值作为 MySql 中的可选条件?

标签 java mysql sql jdbc optional-parameters

我正在尝试编写一个带有 20 个可选搜索参数的 JDBC 查询。我想知道如何使一组没有值(null)的参数不包含在 SQL 中,而无需太多 if/else 语句来手动构造 SQL 字符串。

当值实际上为 null 时,我不能使用 ... AND (column = :value OR column IS NULL),因为查询搜索结果不正确。

最佳答案

对每个搜索参数使用此语法

WHERE 
(
    (tableName.colName = val) 
    OR 
    (tableName.colName IS NULL AND val IS NULL)
)

关于java - 有没有办法让 NULL 值作为 MySql 中的可选条件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50262888/

相关文章:

sql - 姓名查询数据库建议

php - 提交 PHP - HTML DATE 到 MySQL DATE

sql - 从另一台机器上的 .bak 文件恢复数据库

java - 如何在ArrayList中存储二进制文件数据

复制到剪贴板的 JavaFX 字符串从空字符 '\u0000' 开始被截断

Microsoft SQL 中的 MySQL 长文本模拟?

MYSQL - 使用 where 和 filesort

java - 通过 zuul 访问时,Spring session 作用域 bean 在请求之间重置

java - 为什么 JMH 报告简单快速排序的时间如此奇怪——显然与 N * log(N) 不成比例?

mysql - 更新主键 - 如果重复,则将其删除