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

SQL Server中按日期范围批量删除指定命名格式表的方法

按日期范围批量删除SQL Server中命名为CIP_DD_MM_YYYY_HH_MM_SS格式的表

核心思路

通过解析表名中的日期时间片段,筛选出目标范围内的表,生成并执行删除语句。

步骤1:生成删除语句(安全验证版)

先运行以下SQL,生成所有符合删除条件的表的DROP语句,手动确认无误后再执行:

DECLARE @StartDate DATETIME = '2022-12-01 00:00:00'
DECLARE @EndDate DATETIME = '2022-12-01 11:59:59'

SELECT 
    'DROP TABLE [' + SCHEMA_NAME(t.schema_id) + '].[' + t.name + '];' AS DropTableCommand
FROM 
    sys.tables t
WHERE 
    -- 匹配CIP_DD_MM_YYYY_HH_MM_SS格式的表名
    t.name LIKE 'CIP[_][0-9][0-9][_][0-9][0-9][_][0-9][0-9][0-9][0-9][_][0-9][0-9][_][0-9][0-9][_][0-9][0-9]'
    -- 解析表名中的日期时间,判断是否在目标范围内
    AND TRY_CONVERT(DATETIME, 
        SUBSTRING(t.name, 5, 2) + '/' +  -- 提取日
        SUBSTRING(t.name, 8, 2) + '/' +  -- 提取月
        SUBSTRING(t.name, 11, 4) + ' ' + -- 提取年
        SUBSTRING(t.name, 16, 2) + ':' + -- 提取时
        SUBSTRING(t.name, 19, 2) + ':' + -- 提取分
        SUBSTRING(t.name, 22, 2)         -- 提取秒
    ) BETWEEN @StartDate AND @EndDate

步骤2:批量执行删除(可选)

如果确认生成的删除语句无误,可以用动态SQL批量执行:

DECLARE @StartDate DATETIME = '2022-12-01 00:00:00'
DECLARE @EndDate DATETIME = '2022-12-01 11:59:59'
DECLARE @SQL NVARCHAR(MAX) = ''

SELECT 
    @SQL = @SQL + 'DROP TABLE [' + SCHEMA_NAME(t.schema_id) + '].[' + t.name + '];' + CHAR(13) + CHAR(10)
FROM 
    sys.tables t
WHERE 
    t.name LIKE 'CIP[_][0-9][0-9][_][0-9][0-9][_][0-9][0-9][0-9][0-9][_][0-9][0-9][_][0-9][0-9][_][0-9][0-9]'
    AND TRY_CONVERT(DATETIME, 
        SUBSTRING(t.name, 5, 2) + '/' + 
        SUBSTRING(t.name, 8, 2) + '/' + 
        SUBSTRING(t.name, 11, 4) + ' ' + 
        SUBSTRING(t.name, 16, 2) + ':' + 
        SUBSTRING(t.name, 19, 2) + ':' + 
        SUBSTRING(t.name, 22, 2)
    ) BETWEEN @StartDate AND @EndDate

-- 先打印生成的SQL,确认无误后再取消注释执行
PRINT @SQL
-- EXEC sp_executesql @SQL

注意事项

  • 务必先验证:不管用哪种方式,一定要先查看生成的删除语句,确认没有包含误删的表。
  • 外键约束处理:如果目标表存在外键关联,需要先删除外键约束或关联表,否则DROP TABLE会报错。
  • 权限要求:执行DROP TABLE需要对应的数据库权限(如ALTER权限)。

内容的提问来源于stack exchange,提问作者Cric News For Fans

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.03 03:25:19