-1

テーブルにこのデータがあります。

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 日で、開始日から終了日までのすべての名前を返したいとします。上記の例では; ジョン・スミスとゲーン・オックスフォードが帰ってくる。

SELECT fname, lname FROM table where NOW() BETWEEN startdate AND enddate
4

3 に答える 3

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'

于 2013-05-23T10:11:52.430 に答える
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') 

うまくいく場合はこれを試してください。

于 2013-05-23T10:12:41.640 に答える
0

現在の日付のように確認する必要があります:-

$date =  date(' F j\, Y'); //output :- May 23, 2013

あなたのクエリは

SELECT fname, lname FROM table where $date BETWEEN startdate AND enddate
于 2013-05-23T10:12:20.173 に答える