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

如何在PostgreSQL中基于yyyy-mm-dd格式日期使用DELETE和WHERE删除行

在PostgreSQL中按yyyy-mm-dd格式日期删除指定数据行

基础场景(日期字段为date类型)

如果表中的日期字段是纯date类型(不带时间部分),直接用=匹配完整的yyyy-mm-dd格式字符串即可:

DELETE FROM 你的表名
WHERE 日期字段名 = '2023-10-01';

带时间戳的场景(字段为timestamp/timestamptz类型)

如果日期字段包含时间部分(比如2023-10-01 14:30:00),直接用=只会删除时间刚好为00:00:00的行,这时候有两种常用处理方法:

方法1:用时间范围匹配当天所有记录

DELETE FROM 你的表名
WHERE 日期字段名 BETWEEN '2023-10-01 00:00:00' AND '2023-10-01 23:59:59';

方法2:将时间戳转换为日期后匹配

用DATE()函数提取日期部分,再和目标日期对比:

DELETE FROM 你的表名
WHERE DATE(日期字段名) = '2023-10-01';

安全操作建议

  • 删除前先验证:执行DELETE前,先用SELECT语句确认要删除的行是否正确,避免误删:
    SELECT * FROM 你的表名 WHERE DATE(日期字段名) = '2023-10-01';
    
  • 使用事务保护:生产环境操作时,建议开启事务,确认删除结果无误后再提交,出错可快速回滚:
    BEGIN;
    DELETE FROM 你的表名 WHERE DATE(日期字段名) = '2023-10-01';
    -- 检查删除行数或数据后,执行提交
    COMMIT;
    -- 若有误,执行回滚
    -- ROLLBACK;
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.20 03:55:30