gpt4 book ai didi

sql - 查询“从日期<=某日期的表中选择最大值(日期)”不起作用

转载 作者:行者123 更新时间:2023-12-03 19:45:19 25 4
gpt4 key购买 nike

我正在查询SQLite数据库表,如下所示:

SELECT MAX(Date) from Intra360 WHERE Date <= "05/04/2013 00:00"

返回的正确记录应为数字47,即 04/04/2013 23:00

但是,此语句的执行返回不同的值:

我承认我对SQL几乎一无所知,但是这个结果很奇怪。我哪里错了?
注意“ Intra360”是表的名称,包含日期的字段称为“日期”
其他说明我需要的是最接近用户输入的可用日期。这是一个Python程序,正在进行一些分析,但是当用户输入日期不一定正确时,它们就会存在于数据库中。因此,我只是尝试以某种方式重新选择它们,以使正确的SQL语句能够加载将在分析中使用的数据,而不会因为缺少记录而使执行失败。因此,“ 05/04/2013 00:00”是用户输入,因此应该从04/04/2013(而不是明确地04/06/2013)开始执行查询。

最佳答案

比较是按字母顺序对字符串执行的,而不是按时间顺序对日期时间戳进行的。

以比较所需方式的格式存储日期时间。例如,unix纪元时间戳和ISO 8601 yyyy-MM-dd'T'HH:mm:ss日期时间具有此属性。

如果无法影响数据的存储方式,则可以使用substr()更改SQL中的时间戳。参见例如Sqlite convert string to date了解更多。

关于sql - 查询“从日期<=某日期的表中选择最大值(日期)”不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22249402/

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