2011-01-11 154 views
6

我需要日期時間的日期部分。在 「DD-MM-YYYY」從DateTime sql server 2005刪除時間2005

的格式我試圖follwoing

查詢:

select Convert(varchar(11), getdate(),101)

輸出:

01/11/2011

查詢

SELECT cast(floor(cast(GETDATE() as float)) as datetime)

輸出

2011-01-11 00:00:00.000

查詢:

SELECT 
    CONVERT(VARCHAR(MAX),DATENAME(DD,GETDATE())) + '-' + 
    CONVERT(VARCHAR(MAX),DATEPART(MONTH,GETDATE())) + '-' + 
    CONVERT(VARCHAR(MAX),DATENAME(YYYY,GETDATE())) ` 

輸出:

11-1-2011即, 「d-M-YYYY」

我所需的輸出在 「DD-MM-YYYY」 格式。

回答

13
SELECT CONVERT(VARCHAR(10),GETDATE(),105) 
4

嘗試:

SELECT convert(varchar, getdate(), 105) 

更多here

+0

謝謝Eumiro :) – Mike 2011-01-11 13:40:50

3

使用轉換功能「作品」,但只有當你與字符串比較字符串。爲了有效地比較日期,你確實需要在等式兩邊保持強類型的SMALLDATETIME數據類型(即「=」)。因此,上面的'apros'評論確實是這裏最好的答案,因爲這裏提到的博客有正確的公式,用於通過舍入和任何日期列將它「展平」到午夜(即12:00:00)如果沒有時間給定日期,SQL Server 2005將始終默認爲12:00:00。

這個工作對我來說...

select dateadd(day, datediff(day, '20000101', @date), '20000101')