SELECT GETDATE()

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

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

我怎么能得到那个?


当前回答

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

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')

其他回答

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 Convert(smalldatetime,Convert(int,Convert(float,getdate())))

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

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

我认为它很有用。

试试看:

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

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