【问题标题】:Select where date falls within range选择日期在范围内的位置
【发布时间】:2011-01-19 00:28:57
【问题描述】:
Codeigniter/PHP:
这是我当前的数据库查询:
$pass_check = $this->CI->db->select('code')->from('coupons')->where(array('title'=>'Booyah'))->get();
$pass_check = $pass_check->result_array();
还有另外两个字段:“exp_date”和“start_date”。这些代表优惠券应该在什么时候可用,什么时候不应该。
如何只选择数据库中适用日期范围内的代码/优惠券?
这有意义吗?
【问题讨论】:
标签:
php
codeigniter
select
date
【解决方案1】:
在两个日期之间选择值的 SQL 语句大致如下:
SELECT code
FROM coupons
WHERE title = 'Booyah'
AND CURRENT_DATE BETWEEN start_date and exp_date;
我相信您可以对 CodeIgniter 进行适当的替换。
AKA,如果 start_date 小于
今天,不明白,如果今天是
在 exp_date 之后没有得到它。
但我假设您的意思是“例如,如果今天小于 start_date,则不要获取它,如果今天大于 exp_date,则不要获取它。”
【解决方案2】:
给你:
$today = 今天的日期。
$today = date();
$pass_check = $this->CI->db->select('code')->from('coupons')->where(array('title'=>'Booyah'))->$this->db->where("$date BETWEEN start_date and exp_date")->get();
$pass_check = $pass_check->result_array();