SELECT GETDATE()

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

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

我怎么能得到那个?


当前回答

select cast(createddate as date) as derivedate from table 

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

其他回答

如果要将结果分配给列或变量,请为其指定DATE类型,并且转换是隐式的。

DECLARE @Date DATE = GETDATE()   

SELECT @Date   --> 2017-05-03
DECLARE @yourdate DATETIME = '11/1/2014 12:25pm'    
SELECT CONVERT(DATE, @yourdate)

在SQL Server 2000上

CAST(
(
    STR( YEAR( GETDATE() ) ) + '/' +
    STR( MONTH( GETDATE() ) ) + '/' +
    STR( DAY( GETDATE() ) )
)
AS DATETIME)

只要做到:

SELECT CAST(日期变量为日期)

或使用PostgreSQL:

SELECT date_variable::日期

这就是所谓的打字!

最简单的方法是使用:选择日期(GETDATE())