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

下面是此本书
 
第86页提供的方法:
复制代码 代码如下:

SELECT DATEADD(day,DATEDIFF(day,20010101,CURRENT_TIMESTAMP),20010101);

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

版本1:
复制代码 代码如下:

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


版本2:
复制代码 代码如下:

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