2010-09-27 154 views
2

您好我正在使用SqlDatareader從表中讀取值,問題是它始終格式化根據機器日期格式設置的值。SqlDatareader GetValue根據系統日期格式返回日期值

例如在源表中的原始日期格式被保存爲 YYYY/MM/DD

當我在具有日期設置爲MM/DD/YY 機器使用SqlDatareader.GetValue它是atutomatically轉換爲該格式

有無論如何檢索日期值與原始日期格式不變嗎?

謝謝

回答

5

沒有「原始日期格式」,日期內部保存爲數字,而不是字符串。

在一個SQL查詢時,您可以選擇

CONVERT(varchar(30), theColumn, nnn) 

輸出格式,其中「NNN」是這裏列出的常見日期格式之一:MSDN

我個人覺得頁面混亂,所以另一個(更有用的)頁面在這裏:SQL Server Helper。從這個頁面:

CONVERT(VARCHAR(20), GETDATE(), 100) 

將返回 '2005年1月1日下午1:29'

0

可能不是你要找的。但是,如果要存儲格式化的日期時間,可能應該使用VARCHARCHAR(N)作爲字段類型。我認爲DATETIME字段是存儲日期時間,它自己的格式不是那麼重要(或它的意思)。但是,您可以在C#中將其重新轉換爲該格式。

+0

** **從來沒有一個日期時間存儲爲一個格式化字符串(原諒的誇張)。 – 2010-09-27 04:37:29