SELECT GETDATE()

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

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

我怎么能得到那个?


当前回答

我认为这对你来说是可行的:

CONVERT(VARCHAR(10),Person.DateOfBirth,111) AS BirthDate
//here date is obtained as 1990/09/25

其他回答

您可以简单地使用下面的代码在SQL中只获取日期部分,而不获取时间部分:

SELECT SYSDATE TODAY FROM DUAL; 

从SQL SERVER 2012开始,您可以执行以下操作:

选择格式(GETDATE(),'yyyy-MM-dd 00:00:00.000')

只要做到:

SELECT CAST(日期变量为日期)

或使用PostgreSQL:

SELECT date_variable::日期

这就是所谓的打字!

select cast(createddate as date) as derivedate from table 

createdate是您的datetime列,这适用于sqlserver

我常用的方法是在没有时间的情况下约会。。

 SELECT CONVERT(VARCHAR(MAX),GETDATE(),103)

 SELECT CAST(GETDATE() AS DATE)