You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用单条MySQL语句删除非整点的datetime记录?

解决方案

要删除非整点的记录,核心是判断date_time是否精确到整点(分钟和秒均为0),以下是不同数据库对应的SQL语句:

MySQL/MariaDB

方法1:通过分钟、秒判断

DELETE FROM your_table_name
WHERE MINUTE(date_time) != 0 OR SECOND(date_time) != 0;

方法2:截断时间到小时(MySQL 8.0+支持)

DELETE FROM your_table_name
WHERE DATE_TRUNC('HOUR', date_time) != date_time;

PostgreSQL

方法1:截断时间到小时

DELETE FROM your_table_name
WHERE DATE_TRUNC('hour', date_time) <> date_time;

方法2:提取分钟、秒判断

DELETE FROM your_table_name
WHERE EXTRACT(MINUTE FROM date_time) != 0 OR EXTRACT(SECOND FROM date_time) != 0;

SQL Server

方法1:截断时间到小时

DELETE FROM your_table_name
WHERE DATEADD(HOUR, DATEDIFF(HOUR, 0, date_time), 0) != date_time;

方法2:提取分钟、秒判断

DELETE FROM your_table_name
WHERE DATEPART(MINUTE, date_time) != 0 OR DATEPART(SECOND, date_time) != 0;

重要提醒

执行删除操作前,建议先通过SELECT语句验证要删除的记录是否正确,避免误删:

-- 替换为对应数据库的条件语句
SELECT * FROM your_table_name
WHERE MINUTE(date_time) != 0 OR SECOND(date_time) != 0;

内容的提问来源于stack exchange,提问作者xxvizzorxx

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.28 04:05:03