您好我正在使用SqlDatareader從表中讀取值,問題是它始終格式化根據機器日期格式設置的值。SqlDatareader GetValue根據系統日期格式返回日期值
例如在源表中的原始日期格式被保存爲 YYYY/MM/DD
當我在具有日期設置爲MM/DD/YY 機器使用SqlDatareader.GetValue它是atutomatically轉換爲該格式
有無論如何檢索日期值與原始日期格式不變嗎?
謝謝
您好我正在使用SqlDatareader從表中讀取值,問題是它始終格式化根據機器日期格式設置的值。SqlDatareader GetValue根據系統日期格式返回日期值
例如在源表中的原始日期格式被保存爲 YYYY/MM/DD
當我在具有日期設置爲MM/DD/YY 機器使用SqlDatareader.GetValue它是atutomatically轉換爲該格式
有無論如何檢索日期值與原始日期格式不變嗎?
謝謝
沒有「原始日期格式」,日期內部保存爲數字,而不是字符串。
在一個SQL查詢時,您可以選擇
CONVERT(varchar(30), theColumn, nnn)
輸出格式,其中「NNN」是這裏列出的常見日期格式之一:MSDN。
我個人覺得頁面混亂,所以另一個(更有用的)頁面在這裏:SQL Server Helper。從這個頁面:
CONVERT(VARCHAR(20), GETDATE(), 100)
將返回 '2005年1月1日下午1:29'
可能不是你要找的。但是,如果要存儲格式化的日期時間,可能應該使用VARCHAR
或CHAR(N)
作爲字段類型。我認爲DATETIME
字段是存儲日期時間,它自己的格式不是那麼重要(或它的意思)。但是,您可以在C#中將其重新轉換爲該格式。
** **從來沒有一個日期時間存儲爲一個格式化字符串(原諒的誇張)。 – 2010-09-27 04:37:29