SELECT GETDATE()

返回时间:2008-09-22 15:24:13.790

我想要没有时间部分的日期部分:2008-09-22 00:00:00.000

我怎么能得到那个?


当前回答

SELECT * FROM tablename WHERE CAST ([my_date_time_var] AS DATE)= '8/5/2015'

其他回答

如果使用SQL 2008及更高版本:

select cast(getdate() as date)

好吧,虽然我迟到了:),这是另一个解决方案。

SELECT CAST(FLOOR(CAST(GETDATE() AS FLOAT)) as DATETIME)

后果

2008-09-22 00:00:00.000

如果您使用的是SQL Server 2012或更高版本,则可以使用以下FORMAT()函数-

SELECT FORMAT(GETDATE(), 'yyyy-MM-dd')

在这种情况下,仅限日期,我们将运行以下查询:

选择转换(VARCHAR(10),getdate(),111);

为了获得指示的结果,我使用以下命令。

SELECT CONVERT(DATETIME,CONVERT(DATE,GETDATE()))

我认为它很有用。

从SQL Server 2022(16.x)开始,另一个选项是DATETRUNC()函数,使用day作为datepart参数的值:

SELECT DATETRUNC(day, GETDATE());