sqlserver中获取当前日期的午夜的时间值的实现方法
作者:
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
下面是此本书
第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)
您可能感兴趣的文章:
- SQL Server 日期函数CAST 和 CONVERT 以及在业务中的使用介绍
- SQLserver中用convert函数转换日期格式的方法
- SqlServer中的日期与时间函数
- Sqlserver 常用日期时间函数
- PHP模拟SQL Server的两个日期处理函数
- SQL Server 比较日期大小的方法
- SQLServer2005 按照日期自动备份的方法
- sql server日期相减 的实现详解
- SQL Server日期计算
- 模拟SQLSERVER的两个函数:dateadd(),datediff()
- SQL Server各种日期计算方法(收藏)
- SQL Server日期加减函数DATEDIFF与DATEADD用法分析