在 SQL 服务器中修剪

Pruning in SQL Server

我有一个 table 有超过 9000 万行,它有超过 3 年的数据。我想保留周一(或一周中任何特定一天)添加的所有记录,并删除一年前添加的数据的剩余记录。

谁能帮我解决这个问题?

我面临的困难是整理星期一(或一周中任何特定日期)添加的数据

正如蒂姆所说,你可以试试

datepart(weekday, your_date) = 2

检查日期是否为周一(注意1为周日)。或者你甚至可以试试

datename(weekday, your_date) = 'Monday'

明确设置工作日名称

您可以使用日期部分

DATEPART(dw, '2007-04-21 ') = 2 //  day of the week.

DATENAME(weekday, '2007-04-21 ') = 'Monday'

更多可以找到https://docs.microsoft.com/en-us/sql/t-sql/functions/datepart-transact-sql?view=sql-server-2017