涉及两张表
第一张表A存放了客户设置的天数,为0时不清理数据,为1时清理1天前的数据,为7时清理7天前的数据
第二张表B存放了大量数据,以dateTime列记录的时间为准,清理表A中的那个天数之前的数据
下面是我分开写好的查询语句
表A:
SELECT value FROM [dbo].[A] WHERE (name = 'DataClear')
这句SQL返回一条数据,这条数据的value字段存放的就是那个天数,类型是字符串
表B:
DELETE FROM [dbo].[B] WHERE (dateTime > ‘这个时间是根据表A中的那个天数计算的,我不会算’ )
请大神帮我写一下,我好放在作业里,定期清理数据。
------解决思路----------------------
DECLARE @A INT
SELECT @A=CAST(value AS INT) FROM [dbo].[A] WHERE (name = 'DataClear')
DELETE FROM [dbo].[B] WHERE DATEDIFF(DD,dateTime,GETDATE())>@A