gpt4 book ai didi

php - 将列转换为时间戳或日期时间并查询某个时间间隔内的最新数据

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

我有一个从 csv 转储的数据库,其中有一个使用 VARCHAR 导入的列名 time_stamp

我现在有两件事很困惑,

1) 我希望能够将此列转换为时间戳或日期时间 它当前的格式是 dd/mm/yyyy H:M:S 但我读到 unix 仅接受 - 而不是 /。这是真的?

2)我想使用上面的列从数据库查询某个时间范围内最高的时间戳值

示例:在上午 7 点到上午 8 点之间,它应该为我提供最接近上午 8 点的时间戳

如果我的问题含糊不清,请原谅我的问题,但我找不到与我的问题相关的内容。我确信这会收到一些反对票,所以请友善。

最佳答案

很少有事情..首先看这里以了解有关日期格式的更多信息。 Insert current date in datetime format mySQL

其次,您可能应该更新表以将/更改为 -。

使用STR_TO_DATE()进行转换

要获取最近的日期,只需执行以下操作

SELECT MIN(date) FROM table -- // MIN() is used to get the most recent timestamp
WHERE STR_TO_DATE(date, '%c/%e/%Y %r') BETWEEN $start AND $end

开始和结束将是您的开始和结束日期

<小时/>

如果您只想查看一天中的时间,请使用此:

SELECT MIN(date) FROM table -- // MIN() is used to get the most recent timestamp
WHERE TIME(STR_TO_DATE(date, '%c/%e/%Y %r')) BETWEEN $start AND $end
<小时/>

根据我之前的建议,您应该像这样更新表格。

UPDATE table
SET date = STR_TO_DATE(date, '%c/%e/%Y %r')

类似的东西来修复它......这将使您的查询不那么复杂:)

关于php - 将列转换为时间戳或日期时间并查询某个时间间隔内的最新数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23745150/

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