仅在查询CodeIgniter中提取月份

时间:2019-04-04 19:02:52

标签: mysql codeigniter

我想查询一个当月的生日,我对MONTH()有问题,它对我不起作用,数据库中的日期格式为:1990年4月18日,我想要比较月份的当前日期(“ m”)是否等于数据库的月份。

有什么建议吗?

4 个答案:

答案 0 :(得分:1)

您可以尝试这个

SELECT * FROM table_name where extract(month from BirthDate) = date("m");

其中date(“ m”)返回当前月份,而BirthDate是存储生日的列名。

答案 1 :(得分:1)

在查询中使用DATE_FORMAT,获取数据以仅匹配月份值会更好。 应用以下示例代码:

<?php
$this->db->select('*')->from('Table Name');
$qry=$this->db->where('DATE_FORMAT(add_date,"%m")',$select_month)->get()->result();
print_r($qry);
?>

有关更多详细信息,请访问此处:DateFormat in Codeigniter

答案 2 :(得分:0)

可能是您在使用

时遇到转换问题吗?
 select  month(str_to_date(my_col, '%m/%d/%Y'))
 from my_table  
 where   month(str_to_date(my_col, '%m/%d/%Y')) = month(now())

答案 3 :(得分:0)

尝试一下

"select  month(str_to_date(birthdate), '%Y/%m/%d')
from users  
where month(str_to_date(birthdate), '%Y/%m/%d') = '$month'"

这里,我假设您的分隔符为'/',请根据您的字符串日期设置分隔符,即2013/05/042013,05,042013-05-04