gpt4 book ai didi

MySQL if 变量则显示结果 + 具体结果

转载 作者:行者123 更新时间:2023-11-29 08:09:32 25 4
gpt4 key购买 nike

表客户端

ID     |   Name    | start_Date          |  Future
1 John 20-02-2014 15:00:00 0
2 Maria 20-02-2014 15:00:00 0
3 Stack 21-02-2014 15:00:00 1
4 Google 21-02-2014 15:00:00 0

目前,我的查询如下所示:

SELECT * FROM clients

显然这将获取所有客户端,但我想根据 Future 变量显示客户端。设置 Future 变量后,客户端只能显示从 start_Date 开始的日期。

如果我将查询更改为:

SELECT * 
FROM clients
WHERE (NOW() >= start_Date OR start_Date IS NULL
OR start_Date = '0000-00-00 00:00:00')

这会让我:

ID     |   Name    | start_Date          |  Future
1 John 20-02-2014 15:00:00 0
2 Maria 20-02-2014 15:00:00 0

但我期望的输出是:

ID     |   Name    | start_Date          |  Future
1 John 20-02-2014 15:00:00 0
2 Maria 20-02-2014 15:00:00 0
4 Google 21-02-2014 15:00:00 0

我不想显示

3          Stack     21-02-2014 15:00:00      1

因为变量 Future 设置为 1 并且只能在明天(21-02-2014 15:00:00)显示。所以,最后,我想出了这个但没有成功:

SELECT * 
FROM clients
WHERE CASE WHEN Future = 1 THEN (NOW() >= start_Date OR start_Date IS NULL
OR start_Date = '0000-00-00 00:00:00') END

最佳答案

试试这个:

SELECT * 
FROM clients
WHERE future = 0
OR (future = 1
AND (NOW() >= start_Date
OR start_Date IS NULL
OR start_Date = '0000-00-00 00:00:00'))

关于MySQL if 变量则显示结果 + 具体结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21907101/

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