SELECT GETDATE()

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

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

我怎么能得到那个?


当前回答

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

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

我认为它很有用。

其他回答

在这种情况下,仅限日期,我们将运行以下查询:

选择转换(VARCHAR(10),getdate(),111);

语法:

SELECT CONVERT (data_type(length)),Date, DateFormatCode)

Ex:

Select CONVERT(varchar,GETDATE(),1) as [MM/DD/YY]
Select CONVERT(varchar,GETDATE(),2) as [YY.MM.DD]

关于日期的所有日期格式代码:

DateFormatCode  Format
1       [MM/DD/YY]
2       [YY.MM.DD]
3       [DD/MM/YY]
4       [DD.MM.YY]
5       [DD-MM-YY]
6       [DD MMM YY]
7       [MMM DD,YY]
10      [MM-DD-YY]
11      [YY/MM/DD]
12      [YYMMDD]
23      [yyyy-mm-dd]
101     [MM/DD/YYYY]
102     [YYYY.MM.DD]
103     [DD/MM/YYYY]
104     [DD/MM/YYYY]
105     [DD/MM/YYYY]
106     [DD MMM YYYY]
107     [MMM DD,YYYY]
110     [MM-DD-YYYY]
111     [YYYY/MM/DD]
112     [YYYYMMDD]

我常用的方法是在没有时间的情况下约会。。

 SELECT CONVERT(VARCHAR(MAX),GETDATE(),103)

 SELECT CAST(GETDATE() AS DATE)

使用FLOOR()-只需削减时间部分。

SELECT CAST(FLOOR(CAST(GETDATE() AS FLOAT)) AS DATETIME)

以日期格式返回

CAST(订单日期AS日期)

以上代码将在sqlserver2010中运行

它将于2013年12月12日回归

对于SQL Server 2012,请使用以下代码

CONVERT(VARCHAR(10), OrderDate , 111)