Php 在韩元和x27之间选择;你不能使用MySQL吗?
我有一个快速和尽快的问题Php 在韩元和x27之间选择;你不能使用MySQL吗?,php,mysql,Php,Mysql,我有一个快速和尽快的问题 SELECT `deals`.* FROM `deals` WHERE `is_featured` = 1 AND `status` = 'active' AND CURDATE() BETWEEN start_date AND DATE_ADD(end_date, INTERVAL 1 DAY) ORDER BY `end_date` DESC LIMIT 1 是这样吗 开始日期是“2012-01-11 00:00:00”,而
SELECT `deals`.*
FROM `deals`
WHERE
`is_featured` = 1 AND
`status` = 'active' AND
CURDATE() BETWEEN start_date AND DATE_ADD(end_date, INTERVAL 1 DAY)
ORDER BY `end_date` DESC
LIMIT 1
是这样吗
开始日期是“2012-01-11 00:00:00”,而结束日期是“2012-01-11 23:59:59”
这就是我想展示的:
我想显示介于当前日期时间和为1且状态为“活动”之间的dealoffer
(CURDATE()
它应该只选择一个交易,并且此交易应该是与当前日期时间最接近的结束日期。这是您的原始查询
SELECT `deals`.* FROM `deals`
WHERE `is_featured` = 1
AND `status` = 'active'
AND CURDATE() BETWEEN start_date AND DATE_ADD(end_date, INTERVAL 1 DAY)
ORDER BY `end_date` DESC
LIMIT 1;
用这个替换中间的
SELECT `deals`.* FROM `deals`
WHERE `is_featured` = 1
AND `status` = 'active'
AND start_date >= (CURDATE() + INTERVAL 0 SECOND)
AND start_date <= (end_date + INTERVAL 1 DAY)
ORDER BY `end_date` DESC
LIMIT 1;
您可以使用curtime()函数检索当前时间。使用now()
获取日期和时间。是否有关于未来日期的交易?如果没有,也许你可以找到一个与最大日期代替?或者,如果有未来的日期,您是否可以查找小于当前日期的最大日期?这应该可以。你有什么错误?顺便说一句,NOW()将为您返回当前日期时间。开始日期和结束日期是什么数据类型?顺便说一句,日期将扩展为日期00:00:00 ie。。2012-01-01 00:00:00
ALTER TABLE deals ADD INDEX (is_featured,status,start_date,end_date);