当我选择日期在SQL返回为2011-02-25 21:17:33.933。但我只需要日期部分,即2011-02-25。我该怎么做呢?


当前回答

个人最喜欢的:

select convert(datetime, convert(int, getdate()))

其他回答

有点晚了,但是可以使用ODBC的“curdate”函数(尖括号中的“fn”是ODBC函数转义序列)。

SELECT {fn curdate()} 

输出:2013-02-01

CAST(
        FLOOR( 
             CAST( GETDATE() AS FLOAT ) 
        )

AS DATETIME
)

http://www.bennadel.com/blog/122-Getting-Only-the-Date-Part-of-a-Date-Time-Stamp-in-SQL-Server.htm

使用CAST(GETDATE()作为日期)为我工作

使用很简单:

convert(date, Btch_Time)

在下面的例子:

表:

Efft_d       Loan_I  Loan_Purp_Type_C   Orig_LTV    Curr_LTV    Schd_LTV    Un_drwn_Bal_a      Btch_Time            Strm_I  Btch_Ins_I
2014-05-31  200312500   HL03             NULL         1.0000    1.0000         1.0000      2014-06-17 11:10:57.330  1005    24851e0a-53983699-14b4-69109

Select * from helios.dbo.CBA_SRD_Loan where Loan_I in ('200312500') and convert(date, Btch_Time) = '2014-06-17'

2008年旧版本:

Select dateadd (day, datediff (day, 0, getdate ()), 0)