如何获取使用MSSQL GetDate()的date?
DELETE from Table WHERE Date > GETDATE(); GETDATE()包含时间。 而不是得到
 2011-01-26 14:58:21.637 
我怎样才能得到:
 2011-01-26 00:00:00.000 
	
对SQL Server稍有偏见
- 在SQL Server中删除部分date时间的最佳方法
- SQL Server中从date+时间获取date的最有效方法?
概要
 DATEADD(day, DATEDIFF(day, 0, GETDATE()), 0) 
 尽pipeSQL Server 2008具有datetypes。 所以只是使用 
 CAST(GETDATE() AS DATE) 
编辑:添加一天,比较“零”前一天
 DATEADD(day, DATEDIFF(day, -1, GETDATE()), 0) 
从cyberkiwi:
不涉及2个function的替代scheme是(+1可以位于括号内或位于括号内)。
 DATEDIFF(DAY, 0, GETDATE() +1) 
  DateDiff返回一个数字,但是对于所有的目的来说,除了直接将其转换为VARCHAR之外,它将作为date使用这个expression式的date,在这种情况下,您可能会直接在GETDATE()上使用CONVERT方法,例如 
 convert(varchar, GETDATE() +1, 102) 
对于SQL Server 2008,最好的和索引友好的方式是
 DELETE from Table WHERE Date > CAST(GETDATE() as DATE); 
对于之前的SQL Server版本,datemath将比转换为varchar的速度更快。 即使转换为varchar可以给你错误的结果,因为区域设置。
 DELETE from Table WHERE Date > DATEDIFF(d, 0, GETDATE()); 
  注意:不需要用另一个DATEADD来包装DATEADD 
这是数据库特定的。 你还没有指定你正在使用的数据库引擎。
例如在PostgreSQL中,你投了(myvalue作为date)。
 SELECT CONVERT(DATETIME, CONVERT(varchar(10), GETDATE(), 101)) 
您可以使用
 DELETE from Table WHERE Date > CONVERT(VARCHAR, GETDATE(), 101); 
 CONVERT(varchar,GETDATE(),102)