SELECT GETDATE()

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

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

我怎么能得到那个?


当前回答

DECLARE @yourdate DATETIME = '11/1/2014 12:25pm'    
SELECT CONVERT(DATE, @yourdate)

其他回答

SQLServer2008现在有一个“日期”数据类型,它只包含一个日期,而不包含时间组件。使用SQLServer 2008及更高版本的任何人都可以执行以下操作:

SELECT CONVERT(date, GETDATE())

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

select cast(getdate() as date)

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

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

只要做到:

SELECT CAST(日期变量为日期)

或使用PostgreSQL:

SELECT date_variable::日期

这就是所谓的打字!

试试看:

SELECT CONVERT(VARCHAR(10),GETDATE(),111)

以上语句将您当前的格式转换为YYYY/MM/DD,请参阅此链接以选择您的首选格式。