我在 SQL Server 中有两个数据库。我想找出早于(比方说 3)年的数据。
我知道数据库创建日期,目前我有大约 550 GB(均为数据库)的数据跨越 7 年,我想知道“有多少数据库数据(总共 550 GB)超过 3年或(5 年)'?
我正在浏览此链接,但无法获得预期的数据。
我现在想到的解决方案之一是找出占7年的总行数(很容易得到这个数字),占5年的总行数(从创建日期开始)(don '知道如何获得这个号码)。
那么对于 row_count_7_years 占 550 GB 的数据,row_count_5_years 是多少?我会得到大概的数据。
请帮忙
最佳答案
出于此类目的,您应该像 marc 提到的那样保留一些日期时间字段。我想你没有。
在您建议的解决方案中,您可以从表中获取全部行数(我想是 7 年),但是您将无法获取 5 年内的行,因为没有日期。
您可以获得 7 年的全部记录并将它们除以年数,并且只有在您的数据库 avarage 满足的情况下,您才能查询 top (numberOFRows in an year)*5 并排序他们通过 row_number()。结果 - 行,您应该删除。但我不建议您使用此解决方案。
我建议您更改表格并为每个表格添加日期时间列。在此之前,您应该对整个日期进行备份并将其复制到某处。 3 年后,您将能够进行清理。
关于sql - 是否可以找出 SQL Server 中有多少数据库数据早于 N 年?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16892488/