2012-02-24 56 views
0

日期格式只得到日期

enter image description here

問題:我只想日期 - 沒有時間。

SQL語句:

SELECT SubjectIndex, LetterNo, DateOfIssue 
FROM [CircularKeeper] 
ORDER BY DateOfIssue DESC 

取出一部分時間後,我希望它是有序的下降。

我使用SqlDataSource將數據綁定到列表視圖並在標籤控件中顯示日期。

+0

http://msdn.microsoft.com/en-us/library/ms186724.aspx – 2012-02-24 08:42:09

+0

可能重複:http://stackoverflow.com/questions/113045/how-to -return-the-date-part-only-from-a-sql-server-datetime-datatype – Alex 2012-02-24 08:42:25

+0

[在SQL Server中刪除時間部分日期時間的最佳方法]的可能的重複(http://stackoverflow.com/questions/ 1177449 /最好的辦法刪除時間部分的日期時間在SQL服務器) – gbn 2012-02-24 08:44:38

回答

2

你可以這樣做多種方式,在2008年,我會跟去:

SELECT SubjectIndex,LetterNo, CAST(DateOfIssue AS DATE) AS DateOfIssue 
FROM [CircularKeeper] 
ORDER BY DateOfIssue DESC 

由於現在有一個DATE數據類型 - 如果你實際上並不在該領域的存儲時間在表,那麼你可能會考慮將數據類型從DATETIME更改爲DATE - 保存CASTing,並使用更少的空間(3個字節而不是8個)。

您也可以在UI中按照您當前的方式返回DATETIME,並確保在渲染前適當格式化日期。

更新: 我建議從查詢返回DATE作爲日期 - 所以返回數據以強類型的形式。如果出於演示目的,您需要以某種方式格式化,我建議您在演示文稿邏輯中應用格式。

+0

其實我使用日期,但我仍然得到時間部分:( – user1150440 2012-02-24 08:45:51

+0

@ user1150440 - 在這種情況下,你需要在綁定/渲染數據以生成輸出的代碼中,將返回的數據格式化爲所需的格式。您可以從查詢中返回一個格式化的字符串,但是恕我直言,通常最好是按原樣返回數據,並將格式保留到表示層 – AdaTheDev 2012-02-24 08:48:48

+0

@ user1150440:這是*顯示格式*問題,而不是SQL問題 – gbn 2012-02-24 08:49:03

0

您可以使用如下格式在你的SELECT語句

選項 - 1

select Convert(varchar, GETDATE(), 101) --02/23/2012 
select Convert(varchar, GETDATE(), 102) --2012.02.23 
select Convert(varchar, GETDATE(), 103) --23/02/2012 
select Convert(varchar, GETDATE(), 104) --23.02.2012 
select Convert(varchar, GETDATE(), 105) --23-02-2012 

選項 - 2

select CAST(GETDATE()as date) --2012-02-23 

C#代碼

DateTime dt; 
string Temp1 = "Your Date"; 
if (DateTime.TryParse(Temp1, out dt)) 
{ 
    // If it is a valid date 
    string date = dt.ToShortDateString(); 
    string time = dt.ToShortTimeString(); 
} 
+0

* never * use varchar ... http://stackoverflow.com/questions/1177449/best-approach-to-remove-time-part-of-datetime-in- sql-server/1177529#1177529 – gbn 2012-02-24 08:45:03

+0

感謝您的建議。再次感謝。 – Pankaj 2012-02-24 09:46:34