gpt4 book ai didi

MySQL 查询以检查 UNIX 时间戳是否不是星期一

转载 作者:行者123 更新时间:2023-11-29 05:59:01 25 4
gpt4 key购买 nike

我有一个包含 100000 行的 MySQL 表。

每一行只有 1 列名为 unixtime,其中包含不同的 unix 时间戳。数据类型是long

除了 unix-timestamp 为星期一的行之外,您将使用什么 MySQL 查询来删除所有行?

MySQL 服务器默认时区的星期一。

最佳答案

使用函数 FROM_UNIXTIME 和 DAYNAME

  1. FROM_UNIXTIME 将 unixtime 时间戳转换为 DATETIME 格式。
  2. DAYNAME 需要 DATETIME 格式来获取日期名称。为什么函数 DAYNAME 而不是 DAYOFWEEK 函数? DAYNAME(...) <> 'Monday'读起来更清楚 DAYOFWEEK(..) <> 2

从问题中不清楚是要过滤掉记录还是实际从表中删除记录因此,我包括了用于过滤掉记录的选择查询和用于真正从表中删除这些记录的删除查询。

SELECT 查询

SELECT
*
FROM
table
WHERE
DAYNAME(FROM_UNIXTIME(unixtime)) <> 'Monday'

删除查询

DELETE 
*
FROM
table
WHERE
DAYNAME(FROM_UNIXTIME(unixtime)) <> 'Monday'

关于MySQL 查询以检查 UNIX 时间戳是否不是星期一,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46665025/

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