Sql 如何从getdate()到90天永久获取大型日期?

Sql 如何从getdate()到90天永久获取大型日期?,sql,sql-server,Sql,Sql Server,我想把90天前的日期记在表格上,记下当天的日期。 表ismi:etl.PackageExecutionDuration 我想把这些记录删除90天。要比较的列名:创建时间。90天前的时间是23:59:59。 我该怎么做 我已经做了以下查询,但有一个更简单的方式或形状 DELETE etl.PackageExecutionDuration where created_time< (select CONVERT(datetime, DATEADD(SECOND,-1, CONVERT

我想把90天前的日期记在表格上,记下当天的日期。 表ismi:etl.PackageExecutionDuration
我想把这些记录删除90天。要比较的列名:创建时间。90天前的时间是23:59:59。 我该怎么做

我已经做了以下查询,但有一个更简单的方式或形状

DELETE etl.PackageExecutionDuration where created_time<   (select CONVERT(datetime,
  DATEADD(SECOND,-1,
  CONVERT(datetime,
  CONVERT(date, 
  CONVERT(datetime, 
  DATEADD(DAY, -89, GETDATE())))))))

DELETE etl.PackageExecutionDuration,其中创建时间<(选择CONVERT(datetime,
DATEADD(第二个,-1,
转换(日期时间,
转换(日期,
转换(日期时间,
DATEADD(日期-89,GETDATE()()()()))
简化为:

where created_time <= cast(dateadd(day, -90, getdate()) as date)

where created_time
DELETE etl.PackageExecutionDuration where created_time<(选择CONVERT(datetime,
DATEADD(毫秒,-1,
转换(日期时间,
转换(日期,
转换(日期时间,
DATEADD(日期-89,GETDATE()()()()))

删除创建时的etl.PackageExecutionDuration
(选择转换(日期时间, DATEADD(第二个,-1, 转换(日期时间, DATEADD(第-11天,GETDATE()()()))

这是一个真正的查询

什么数据类型是在什么时候创建的?你不能只做
…创建的时间
在90天前的时间是23:59:59,例如:01:01:2017 23:59:59欢迎使用堆栈溢出,@emre。一些解释,以及您提供的代码,不仅会帮助提出此问题的个人,而且会帮助将来阅读此问题的所有人。第一个和最后一个
convert(datetime
s似乎没有必要。删除etl.PackageExecutionDuration where created_time<(选择convert(datetime,DATEADD(第二个,-1,CONVERT(datetime,DATEADD(DAY,-11,GETDATE()));)
DELETE etl.PackageExecutionDuration where created_time<   (select CONVERT(datetime,
  DATEADD(milisecond,-1,
  CONVERT(datetime,
  CONVERT(date, 
  CONVERT(datetime, 
  DATEADD(DAY, -89, GETDATE())))))))
DELETE etl.PackageExecutionDuration where created_time<   (select CONVERT(datetime,
  DATEADD(SECOND,-1,
  CONVERT(datetime, 
  DATEADD(DAY, -11, GETDATE())))))