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'

其他回答

我知道这很古老,但我看不出哪里有人这样说。据我所知,这是ANSI标准。

SELECT CAST(CURRENT_TIMESTAMP AS DATE)

如果微软也能支持ANSI标准CURRENT_DATE变量,那就好了。

您可以使用下面的方法,仅用于日期的不同类型的输出

SELECT CONVERT(日期时间,转换(varchar,GETDATE(),103))-----dd/mm/yyyySELECT CONVERT(日期时间,转换(varchar,GETDATE(),101))------mm/dd/yyyySELECT CONVERT(日期时间,转换(varchar,GETDATE(),102))

试试看:

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

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

在SQL Server 2000上

CAST(
(
    STR( YEAR( GETDATE() ) ) + '/' +
    STR( MONTH( GETDATE() ) ) + '/' +
    STR( DAY( GETDATE() ) )
)
AS DATETIME)
select convert(getdate() as date)

select CONVERT(datetime,CONVERT(date, getdate()))