如何获取当前日期的午夜的时间值

MS SQLServer,如何获取当前系统日期的午夜的时间值:

下面是Infor syteline 8.02的自定议函数:

MidnightOf
ALTER FUNCTION [dbo].[MidnightOf] (
  
@Date DATETIME
RETURNS DATETIME
AS
BEGIN    
    
RETURN (dateadd(year,(datepart(year,@Date- 2000),dateadd(month,(datepart(month,@Date- 1),dateadd(day,(datepart(day,@Date- 1),'2000'))))     
END


 下面是此本书http://images.cnblogs.com/cnblogs_com/insus/book1.png第86页提供的方法:

View Code
SELECT DATEADD(day,DATEDIFF(day,'20010101',CURRENT_TIMESTAMP),'20010101');


下面是Insus.NET的方法,此方法只能在SQL Server 2008或更高版本上应用,因为在这个版本才有DATE和TIME数据类型。

版本1:

Midnight_ver1
SELECT CAST((CAST(CAST(CURRENT_TIMESTAMP AS DATE) AS CHAR(10)) + ' ' + '00:00:00.000'AS DATETIME)

版本2: 

Midnight_ver2
SELECT CAST(CAST(CURRENT_TIMESTAMP AS DATE) AS DATETIME)

  

原文地址:https://www.cnblogs.com/insus/p/2172419.html