gpt4 book ai didi

mysql - 返回 varchar 值和 null 值

转载 作者:行者123 更新时间:2023-11-30 00:23:33 25 4
gpt4 key购买 nike

我正在使用 MySQL 尝试按日期对事件进行排序,并按时间排序。然而,并非所有事件都有设定时间,因此具有空值。我的问题是如何构建一个查询来检索具有时间字段(设置为 varchar)的事件和具有空值的事件,同时删除时间已过的事件。到目前为止,这就是我所拥有的,但它只是返回所有事件。并且不会在事件发生时丢弃它们。

    SELECT  `event_title` , DATE_FORMAT( event_date,  '%Y-%b-%d' ) AS formated_event_date, event_date, event_hour
FROM `club_events`
WHERE `event_date` > CURDATE( ) -1
AND HOUR( CURTIME( ) ) > `event_hour`OR HOUR( CURTIME( ) ) > ''
AND club_id != '1'
ORDER BY `event_date` ASC
LIMIT 14;

最佳答案

也许你应该使用更多的括号:

SELECT  `event_title` , DATE_FORMAT( event_date,  '%Y-%b-%d' ) AS formated_event_date, event_date, event_hour
FROM `club_events`
WHERE `event_date` > CURDATE( ) -1
AND (HOUR( CURTIME( ) ) > `event_hour`OR HOUR( CURTIME( ) ) > '')
AND club_id != '1'
ORDER BY `event_date` ASC
LIMIT 14;

额外加括号的原因如下:

由于 WHERE 子句用于日期,而第二个条件是设定时间或空时间,因此使用括号会有所帮助,例如: WHERE condition_a AND (condition_b OR condition_c) 而不是 WHERE condition_a AND condition_b OR condition_C产生不同的结果。

但是如果能有一些示例数据和预期结果就太好了。

关于mysql - 返回 varchar 值和 null 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23052044/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com