2012-08-06 121 views
0

我有一個表像MySQL過濾數據..由當前日期

| id | name    | meetingID | meeting_type | status | recurring_time | attendee_passwd | moderator_passwd | date_created  | timezone | meeting_datetime | reminder | duration | created_by_id | sms_no | conferenceID | meeting_logout_url | max_participants | participants_id | 
    +----+------------------+-----------+--------------+--------+----------------+-----------------+------------------+---------------------+-----------+---------------------+----------+----------+---------------+--------+--------------+--------------------+------------------+-----------------+ 
| 7 | 6august   | REG_524 |    | NULL |    | 90200   | 18614   | 0000-00-00 00:00:00 | GMT 5.45 | 2012-08-06 03:00:00 |  0 | 60  |    1 | 12356 |   NULL | http://log.com  |    20 |   NULL | 

我想這樣對我使用下面的查詢按當前日期來過濾表

SELECT * from demo_meeting WHERE created_by_id IN(SELECT id FROM demo_user WHERE user_name = ' Sang') and meeting_datetime=curdate(); 

但我得到空集而不是獲得結果。

請告訴我,我在做什麼錯在這裏

+0

即使我正在從demo_meeting獲取select *的空集WHERE meeting_datetime = DATE_FORMAT(CURDATE(),'%​​YY%MM%DD%HH%MM%SS');這一個也 – user1481793 2012-08-06 12:13:41

+0

空集意味着QUERY是正確的,但條件是錯誤的 – Nagri 2012-08-06 12:17:55

+0

謝謝你hussainNagri – user1481793 2012-08-06 12:21:33

回答

3

您比較日期的日期時間。

試試您鑄造日期時間爲日期,就像這樣:

SELECT * from demo_meeting WHERE created_by_id IN (SELECT id FROM demo_user WHERE user_name = ' Sang') AND DATE(meeting_datetime) = curdate(); 
+0

空集(0.01秒) – user1481793 2012-08-06 12:16:16

+0

謝謝傢伙實際上這兩個答案是正確的我犯了錯誤somwher其他 – user1481793 2012-08-06 12:18:06

1
SELECT * from demo_meeting WHERE created_by_id IN(SELECT id FROM demo_user WHERE user_name = ' Sang') and DATE_FORMAT(meeting_datetime, '%Y-%m-%d')=curdate(); 
0

嘗試使用DATE()功能來格式化你的約會。順便說一句,表的接合是高效得多SubQuery

SELECT a.* 
FROM demo_meeting a 
      INNER JOIN demo_user b 
       ON a.created_by_id = b.ID 
WHERE b.user_name = 'Sang' AND 
     DATE(a.meeting_datetime) = DATE(curdate()) 
0

您比較與由具有數據類型日期時間/時間戳字段meeting_datetime CURDATE();你真正需要做的就是比較像date(meeting_datetime)和curdate()。

查詢將是: SELECT * FROM demo_meeting WHERE created_by_id IN(SELECT ID FROM demo_user其中user = '生')和date(meeting_datetime)=curdate();

希望它會幫助你。