我在测试期间创建了许多数据库,我需要在1天后自动删除。
我可以在TESTDB_
开头选择所有这些内容,但不确定如何让DB的创建日期超过1天并删除。
这是我所拥有的。任何人都有任何想法来完成这个:
Select name from Sys.Databases where [name] LIKE '%TESTDB_%' and [create_date] <=
谢谢!
答案 0 :(得分:1)
大于一天:
Declare @dbname varchar(50);
DECLARE @cmd VARCHAR(1000);
select @dbname = [name] from
(Select DATEDIFF(DAY,[create_date],GETDATE()) as diff, [name] from Sys.Databases) as a
where diff>1 and name like '%TESTDB_%';
SET @cmd = 'Drop Database ' + @dbname;
EXEC(@cmd);
答案 1 :(得分:0)
您可以使用DATEDIFF()函数计算HOURS中的差异:
Select name from Sys.Databases where [name] LIKE '%TESTDB_%' and datediff(hour, [create_date], getdate()) > 24