日期格式只得到日期
問題:我只想日期 - 沒有時間。
SQL語句:
SELECT SubjectIndex, LetterNo, DateOfIssue
FROM [CircularKeeper]
ORDER BY DateOfIssue DESC
取出一部分時間後,我希望它是有序的下降。
我使用SqlDataSource
將數據綁定到列表視圖並在標籤控件中顯示日期。
日期格式只得到日期
問題:我只想日期 - 沒有時間。
SQL語句:
SELECT SubjectIndex, LetterNo, DateOfIssue
FROM [CircularKeeper]
ORDER BY DateOfIssue DESC
取出一部分時間後,我希望它是有序的下降。
我使用SqlDataSource
將數據綁定到列表視圖並在標籤控件中顯示日期。
你可以這樣做多種方式,在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作爲日期 - 所以返回數據以強類型的形式。如果出於演示目的,您需要以某種方式格式化,我建議您在演示文稿邏輯中應用格式。
其實我使用日期,但我仍然得到時間部分:( – user1150440 2012-02-24 08:45:51
@ user1150440 - 在這種情況下,你需要在綁定/渲染數據以生成輸出的代碼中,將返回的數據格式化爲所需的格式。您可以從查詢中返回一個格式化的字符串,但是恕我直言,通常最好是按原樣返回數據,並將格式保留到表示層 – AdaTheDev 2012-02-24 08:48:48
@ user1150440:這是*顯示格式*問題,而不是SQL問題 – gbn 2012-02-24 08:49:03
您可以使用如下格式在你的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();
}
http://msdn.microsoft.com/en-us/library/ms186724.aspx – 2012-02-24 08:42:09
可能重複: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
[在SQL Server中刪除時間部分日期時間的最佳方法]的可能的重複(http://stackoverflow.com/questions/ 1177449 /最好的辦法刪除時間部分的日期時間在SQL服務器) – gbn 2012-02-24 08:44:38