mysql的sql语句where,mysql – SQL语句中where子句的IF语句

我正在开发一个日历应用程序.它以两种格式存储时间.该表具有以下列标题,startDate,startTime.如果用户提供开始时间加上开始日期.数据库在startTime列中存储UNIX时间戳(自UNIX epok以来的秒数),而startDate为NULL.如果用户仅提供开始日期,则数据库将在startDate中以nnnn-mm-dd格式存储日期,在’startTime`中存储NULL.我有这种数据库结构,因为它更容易在世界各地显示时间,因为不同的时区有不同的夏令时.

我想选择在指定日期之后发生的事件.客户端计算机为服务器提供当天开始的UNIX时间戳($unix)和格式为nnnn-mm-dd的日期($date)以选择正确的日期.

问题是,我不知道如何选择上面指定的那些日子.此解决方案不适用于我,即使它有效:

SELECT *

FROM events

WHERE startDate >= '$date'

OR startTime >= '$unix'

事情是我在某些行中在startTime中提供了unix时间戳,我也有一个在startDate中提供的日期以及我不想解释的其他原因.因此,我不能使用上面的解决方案.

我需要某种在Where子句中包含IF语句的解决方案,如:

SELECT *

FROM events

WHERE IF(startTime = NULL, startDate >= '$date', startTime >= '$unix')

我只是猜测这个解决方案.但这是对的吗?

  • 0
    点赞
  • 0
    评论
  • 0
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

表情包
插入表情
评论将由博主筛选后显示,对所有人可见 | 还能输入1000个字符
©️2021 CSDN 皮肤主题: 数字20 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值