我想从mysql表中获取所选月份和年份的所有以前的记录。e、 g如果我选择的月份和年份是08-2018,那么查询应该显示从2018年8月开始的所有以前的记录。
我尝试了以下mysql查询: "select * form tblusers where year(created_date)<=2018 and month(created_date)<'08'";
但它不包括我有超过8个月的记录,例如09-2017等
我想从mysql表中获取所选月份和年份的所有以前的记录。e、 g如果我选择的月份和年份是08-2018,那么查询应该显示从2018年8月开始的所有以前的记录。
我尝试了以下mysql查询: "select * form tblusers where year(created_date)<=2018 and month(created_date)<'08'";
但它不包括我有超过8个月的记录,例如09-2017等
5条答案
按热度按时间uqjltbpv1#
试试这个:
6ojccjat2#
您可以尝试更简单的方法:
获取记录的创建日期小于所选月份和年份的第一个日期。
万一你
created_date
字段的类型为Date
然后您可以尝试以下操作:万一你
created_date
字段的类型为Datetime
然后您可以尝试以下操作:pcrecxhr3#
如果你的sql语法在单词“from”中有一个错误(但我猜只要你得到结果就不是这个错误)。
您的查询根据您在那里设置的内容正常工作。它不应该返回高于08个月的结果,这实际上是您的状况:
这意味着如果你的值是09,10,11。。。它不能通过你的条件,因为它高于08。
1szpjjfi4#
我更喜欢创造复合价值
oyt4ldly5#
希望这能帮助您:
像这样使用ci查询生成器类:
更好的使用方法如下:
更多信息:https://codeigniter.com/user_guide/database/query_builder.html