我想查询一个当月的生日,我对MONTH()有问题,它对我不起作用,数据库中的日期格式为:1990年4月18日,我想要比较月份的当前日期(“ m”)是否等于数据库的月份。
有什么建议吗?
答案 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/04
或2013,05,04
或2013-05-04