2

我有一张像..

    | 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();

但我得到的是空集而不是得到结果。

请告诉我我在这里做错了什么

4

4 回答 4

6

您正在将日期时间与日期进行比较。

尝试将您的日期时间转换为日期,如下所示:

SELECT *  from demo_meeting WHERE created_by_id IN ( SELECT id FROM demo_user WHERE user_name = ' Sang') AND DATE(meeting_datetime) = curdate();
于 2012-08-06T12:15:08.333 回答
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();
于 2012-08-06T12:15:24.160 回答
1

尝试使用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())
于 2012-08-06T12:27:00.147 回答
0

您正在将 curdate() 与数据类型为 datetime/timestamp 的字段 meeting_datetime 进行比较;您真正需要做的是将 date(meeting_datetime) 与 curdate() 进行比较。

查询将是: SELECT * from demo_meeting WHERE created_by_id IN(SELECT id FROM demo_user WHERE user_name = 'Sang') 和date(meeting_datetime)=curdate();

希望它会帮助你。

于 2012-08-06T12:29:23.583 回答