我在桌子上有这些数据;
STARTDATE : ENDDATE : FNAME : LNAME
Apr 1, 2013 : May 31, 2014: John : Smith
Feb 1, 2013 : Jun 30, 2013: Gane : Oxford
Jan 1, 2013 : Mar 11, 2013: Lloyd : White
我想在STARTDATE和ENDDATE之间查询那些FNAME和LNAME。例如,今天是2013年5月23日,我想返回startdate和enddate之间的所有名称。在上面的例子中; John Smith和Gane Oxford将返回。
SELECT fname, lname FROM table where NOW() BETWEEN startdate AND enddate
答案 0 :(得分:4)
SELECT fname,lname FROM table_name where DATE_FORMAT(CURRENT_DATE(),'%b %d, %Y') between startdate AND endate;
DATE_FORMAT(CURRENT_DATE(),'%b %d, %Y')
---将当前日期转换为数据库日期格式,如您所提到的'Apr 1, 2013'
答案 1 :(得分:1)
使用日期格式。以下是mysql日期格式的示例:
SELECT fname, lname FROM table where DATE_FORMAT(NOW(),'%b %d, %Y') BETWEEN DATE_FORMAT(startdate,'%b %d, %Y') AND DATE_FORMAT(enddate,'%b %d, %Y')
尝试这个,如果适合你。
答案 2 :(得分:0)
您需要检查当前日期: -
$date = date(' F j\, Y'); //output :- May 23, 2013
,您的查询将是
SELECT fname, lname FROM table where $date BETWEEN startdate AND enddate