gpt4 book ai didi

mysql - 如何在mysql中获取上个月的所有日期以及当月15号之前的日期

转载 作者:行者123 更新时间:2023-11-29 06:51:10 26 4
gpt4 key购买 nike

Sql Column example

我需要帮助编写一个查询,以获取 mysql 中当月 15 日之前的月份和日期的 move_in_date 信息。我尝试了几种方法,但似乎没有任何效果。我的表中日期列的数据类型是varchar。
我尝试了这个查询,但它返回空列表
SELECT * FROM requisitions where day(Move_in_date) < 15

(requisitions 是我的表名,move_in_date 是我的列名)

谢谢。

最佳答案

尝试这个查询:

SELECT *
FROM requisitions
WHERE
Move_in_date < DATE_FORMAT(NOW() ,'%Y-%m-16');

这表示包括严格小于当月 16 日午夜的所有日期。因此,当月 15 日(含)之前的所有日期都将被考虑。

编辑:

由于您向我们透露您的日期将以 '%d-%m-%Y' 格式存储为文本,因此我们必须添加一个额外的步骤来首先转换您的文本使用STR_TO_DATE将字符串转换为实际日期。所以现在查询变成:

SELECT *
FROM requisitions
WHERE
STR_TO_DATE(Move_in_date, '%d-%m-%Y') < DATE_FORMAT(NOW() ,'%Y-%m-16');

一般来说,您应该避免将日期存储为文本,原因正如您在上面看到的。它使查询数据变得更加困难。

关于mysql - 如何在mysql中获取上个月的所有日期以及当月15号之前的日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47403845/

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