sql - 小时,月等的开始

Hag*_*i L 25 sql t-sql sql-server sql-server-2005

我知道如何在SQL(SQL Server)中获取当前日期,但是在当天开始时:

select dateadd(DAY, datediff(day, 0, getdate()),0) 
(result:2009-09-17 00:00:00.000)
Run Code Online (Sandbox Code Playgroud)

我需要在本小时开始时(在SQL中)获取当前日期.例如:2009-09-17 17:00:00(我不关心确切的格式)

我需要获得当前日期,但这个月的开头:例如:2009-09-01 00:00:00.000(我不关心确切的格式)

你能帮助我吗?提前致谢

gbn*_*gbn 50

只需调整当前的一天开始代码!

你想要的只是月初,小时开始.它只是一样......

select dateadd(month, datediff(month, 0, getdate()),0) 

select dateadd(hour, datediff(hour, 0, getdate()),0)
Run Code Online (Sandbox Code Playgroud)


小智 8

试试这个:

CAST(CAST(SYSDATETIME() AS DATE) AS DATETIME)
Run Code Online (Sandbox Code Playgroud)


Jav*_*ick 6

最短的是: CAST(CURRENT_TIMESTAMP AS DATE)