mysql - 如何测试日期在where条件下是否为空

标签 mysql sql prepared-statement where-clause

我需要测试日期在where条件下是否不为空:

String query = "SELECT * FROM employe WHERE date IS NOT NULL date > ? AND date IS NOT NULL date < ? ";
PreparedStatement statement = connessione_db.prepareStatement(query);
statement.setDate(1, data_interval_1);
statement.setDate(1, data_interval_2);

日期必须介于data_interval_1data_interval_2之间以及data_interval_1data_interval_2之间可以为空。

最佳答案

只是为了测试 date 是否不为空,您可以这样做:

where date is not null

但是,对于条件,您可以这样做:

where date >= ? and date <= ?

null 值永远无法满足条件,因此这会隐式执行 null 检查。

关于mysql - 如何测试日期在where条件下是否为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51522359/

相关文章:

php - MySQLi 更新准备好的语句不更新数据库

python - cursor.execute(...) 用于字符串前缀搜索

mysql - 我可以在存储过程中使用 mysqlimport/LOAD DATA LOCAL INFILE

javascript - 使用 php/mysql javascript 创建一个简单的 Web 开发测试但不起作用

php - 我可以根据结果数将我的 MySQL 查询重构为一个查询吗?

php - mysqli_fetch_assoc()需要参数/调用成员函数bind_param()错误。如何获取并修复实际的mysql错误?

mysqldump 进行部分备份 - 不完整的表转储

mysql - MySQL中字符串出现次数排名

mysql - 如何从mysql中的字符串中只获取数字?

java - Prepared Statement 不检索 sql 的确切结果