我有一个像这样的员工表
id name dob
1 Vik 1990-01-12
2 Arm 1992-02-08
3 Loki 1992-02-19
4 Ram 1986-11-23
5 Suri 1996-03-02
今天是2015-02-05,现在我想要那些在2015-02-01到2015-02-28之间生日的记录。意味着输出
2 Arm 1992-02-08
3 Loki 1992-02-19
我只熟悉Codeigniter,所以我的请求是请根据CI查询写下你的答案。
答案 0 :(得分:0)
SELECT * FROM `employees` WHERE MONTH(dob) = 2 AND (DAY(dob) >= 1 AND DAY(dob) < 29);
答案 1 :(得分:0)
最好直接从数据库中提取信息,这样就不需要抓取所有记录并进行循环。
@Tpojka示例的另一个替代方法是使用BETWEEN函数(如果使用MySQL:
)SELECT * FROM `employees` WHERE dob BETWEEN $start_date AND $end_date;
要在CodeIgniter中使用它,您需要先设置数据库配置,然后才能执行以下操作:
$this->db->query('SELECT * FROM `employees` WHERE dob BETWEEN ? AND ?;', array($start_date, $end_date));