我正在寻找一个字符串查询来执行此操作,从event_planner表中选择标题,描述列,其中月,日,年不早于今天。
我的表结构是这样设置的。
标题,描述,月,日,年
月份的格式示例为05,日期为31,年份为2014年。必须以此格式进行游戏。
答案 0 :(得分:2)
我附近没有安装mysql,所以它可能无法正常工作。请随意尝试:
select title, description from event_planner
where
date(CONCAT('year','-',LPAD('month',2,'00'),'-',LPAD('day',2,'00'))) >= CURDATE()
答案 1 :(得分:2)
作为注释,不需要将列转换为日期时间格式。在“常量”方面进行转换比较便宜,即当前日期:
如果它们存储为字符串,请尝试:
where concat(year, month, day) >= date_format(curdate(), '%y%m%d')
如果它们存储为数字:
where year*10000 + month*100 + day >= year(now())*10000 + month(now()) * 100 + day(now())
答案 2 :(得分:1)
您应该将日期存储为日期类型(例如,在"日期"您拥有的最后三列的列实例中)。这样,您可以使用:
SELECT title, description FROM event_planner WHERE date >= CURDATE()
如果需要其他任何内容,您可以随时在应用程序逻辑中提取日期,月份和年份。
答案 3 :(得分:1)
SELECT标题,描述FROM event_planner WHERE CONCAT(年,' - ',月,' - ',日)> = CURDATE()
这对我有用!谢谢你们!