sqlserver中获取当前日期的午夜的时间值的实现方法
程序员文章站
2022-06-04 23:19:11
下面是Infor syteline 8.02的自定议函数: 复制代码 代码如下: MidnightOf ALTER FUNCTION [dbo].[MidnightOf]...
下面是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)
复制代码 代码如下:
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)