Mysql 查询选择带或不带日期的行

标签 mysql date select

enter image description here

我想根据今天的日期选择具有开始日期和到期日期列的行,甚至没有日期值的行。所以

$query=mysql_query("SELECT * FROM discounts where '".date('Y-m-d')."' >= coupon_start_date AND '".date('Y-m-d')."' <= coupon_expiry_date
UNION SELECT * FROM ecwid_discounts where '".date('Y-m-d')."' >= coupon_start_date AND coupon_expiry_date is NULL union SELECT * FROM ecwid_discounts where coupon_start_date is NULL AND '".date('Y-m-d')."' <= coupon_expiry_date union SELECT * FROM ecwid_discounts where coupon_start_date is NULL AND coupon_expiry_date is null");

我想确认这个查询是否正确,或者是否有更好的方法来简单地重写这个查询。

大家有什么帮助

最佳答案

使用此查询:

$query=mysql_query("SELECT * FROM discounts where '".date('Y-m-d')."' >= coupon_start_date AND '".date('Y-m-d')."' <= coupon_expiry_date
UNION SELECT * FROM ecwid_discounts where '".date('Y-m-d')."' >= coupon_start_date AND '".date('Y-m-d')."' <= coupon_expiry_date OR '".date('Y-m-d')."' >= coupon_start_date AND coupon_expiry_date is NULL OR coupon_start_date is NULL AND '".date('Y-m-d')."' <= coupon_expiry_date OR coupon_start_date is NULL AND coupon_expiry_date is null");

关于Mysql 查询选择带或不带日期的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43601417/

相关文章:

mysql - 错误 1036 (HY000) : Table 'Atable_name' is read only

Python 查询最旧日期列表

Mysql选择除第一行以外的行

mysql - 在 MYSQL 中 UNION 三个不同的 SELECT

php - 查看某个时间段是否与当前时间匹配

mysql - 如何优化具有多个外连接到大表、group by 和 order by 子句的查询的执行计划?

php - 需要一些关于数据库模式设计的建议

具有产品、产品类别和不同属性的 MySQL 数据库

c++ - 使用 MYSQL 服务器 (mingw32-make) 为 QT 构建驱动程序时出错

date - 在grails rich-ui datechooser中将日期字符串转换为日期