gpt4 book ai didi

Mysql 选择日期和可能的情况

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

我遇到一个问题,我想不出解决方案,也许我的表结构不好,或者我只是对 mysql select 命令了解不够,无法想到一个好的解决方案。也许你可以帮助我:

所以我得到了一个表,其中有一列具有日期格式(yyyy-mm-dd),我想选择所有即将到来的日期,所以我这样做了:

SELECT * WHERE date >= now. 

这工作得很好,但我也得到了“日期”,其中只输入了年份(2014-00-00)我也想选择这些,但“现在”已经更大了,所以我制作了另一列,只输入了年份,如果月份、日期或两者都不知道,我将使用 0000-00-00 和列“年”,现在我可以这样选择:

SELECT * WHERE date >= now AND year >=now(year)

现在所有带有 0000-00-00 的条目都不会被选择。如果我使用 OR,将显示去年的条目。

这就是我的问题,有什么方法可以更改我的表格,以便我可以只包含年份或仅包含年份和月份,当然还有全部条目?我已经考虑过摆脱日期格式并使用简单的 INT 以及单独的年、月和日期列。但我想我也会遇到同样的问题。

有时我只想做一个胶囊选择,例如

SELECT * 
WHERE (date >= now AND year >= now(year))
OR date == "0000-00-00" (i know that this doesnt work)

最佳答案

如果我正确理解您的问题,您可以使用此请求:

WHERE (date >= now OR year > now(year))

不过,可能有一种更简单的方法可以保留您的设计,例如在 1 月 1 日 (01-01) 而不是 00-00 初始化

关于Mysql 选择日期和可能的情况,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21039327/

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