2011-03-31 75 views
0

我該如何轉換1/6/2011 12:00:00 AM01/06/2011 MS SQL?SQL日期格式

+0

http://www.windowsitpro.com/article/configuration/how-can-i-convert-a-sql-date-time -to-just-date-.aspx 類似的討論 – pinki 2011-03-31 09:45:35

回答

1

如果你的目的是比較僅基於日兩個日期時間,這應該有助於

SELECT DATEADD(dd, 0, DATEDIFF(dd, 0, GETDATE())) 

在SQL Server 2008中也有類型DATE所以

CAST(@date as DATE) 

應也工作。 例如這個碼

declare @dt as datetime 
declare @d as date 

set @dt = getdate() 
set @d = cast(@dt as date) 

print @dt 
print @d 

有此輸出

mar 31 2011 11:46AM 
2011-03-31 
+0

感謝它的工作。 – Remya 2011-03-31 10:01:28

2
+0

好的,也適用於使用子字符串的yyyy-mm-dd(convert(varchar,crdate,121),1,10) – Jarekczek 2011-12-21 19:07:12

0
convert(char(10),aDate,101); 

它適用於您的問題嗎?

編輯:if'1/6/2011 12:00:00 AM'是一個字符串。

 
declare @aDate datetime; 
set @aDate = '1/6/2011 12:00:00 AM'; 
print convert(char(10),@aDate,101); 
+0

它不起作用,結果爲「 1/6/2011 1「 – Remya 2011-03-31 09:49:57

+0

@Remya:只需更新一種新的解決方案,即'2011年6月1日12:00:00 AM'是一個字符串。 – RollingBoy 2011-03-31 09:59:24