我有一個ASP.NET程序正在將日期寫入DD/MM/YYYY中的SQLExpress數據庫日期字段。SQL Express存儲日期爲MM/DD/YYYY格式
當我查看SQL Express中的數據時,它以mm/dd/yyyy存儲。
如何將其配置爲以DD/MM/YYYY格式進行存儲?
我有一個ASP.NET程序正在將日期寫入DD/MM/YYYY中的SQLExpress數據庫日期字段。SQL Express存儲日期爲MM/DD/YYYY格式
當我查看SQL Express中的數據時,它以mm/dd/yyyy存儲。
如何將其配置爲以DD/MM/YYYY格式進行存儲?
這是不可能的,因爲日期的數字,DD/MM/YYYY或MM/DD/YYYY格式內部存儲的僅僅是顯示數據的格式。但是,您可以通過SQL函數更改數據轉換爲字符串的方式...
這有助於:http://stackoverflow.com/questions/ 5619877/sql-query-doing-strange-thing – TeaDrinkingGeek 2011-04-11 11:00:03
也許你可以選擇這樣的:
select CONVERT(varchar(12) , getdate(), 103)
您會看到內部日期表示法(自1900年1月1日以來的天數基本上)的呈現本地化版本。
別擔心。你會得到你的客戶的日期(在一個內部日期表示),這可以格式化你喜歡那裏。
如果我嘗試使用dd/mm/yyyy從數據庫中讀取記錄,那該怎麼辦。我需要將它轉換爲mm/dd/yyyy。當然,這是有趣的。 – TeaDrinkingGeek 2011-04-11 08:56:23
@TeaDrinkingGeek:你**不是以mm/mm/yyyy或mm/dd/yyyy閱讀。用於查看數據的工具使用區域設置或數據庫設置以此方式進行渲染。 – gbn 2011-04-11 09:01:28
問題是如果我使用這個讀取字符串:Convert.ToDateTime(MyReader [「Date」])。ToString(「dd/MM/yyyy」);它讀取它有mm/dd/yyyy。 – TeaDrinkingGeek 2011-04-11 09:53:17
正常存儲數據。當您檢索數據,這樣做的代碼:
dateField.ToString("dd/MM/yyyy")
而你的結果將是:11/04/2011
比如我寫的datbase日期11月4日/ 2011 09:48:33。當我查看數據庫日期字段時,其04/11/2011 09:48:33 – TeaDrinkingGeek 2011-04-11 08:49:31
我必須處理很多日期區域設置的問題,所以我建議您測試日期,以便日期不能切換月份和日期,仍然有一個有效的日期。所以,如果你在15/04/2011進行嘗試,你會知道它是否按照你期望的格式閱讀(它會失敗,因爲沒有第15個月)。這會給你更多的信息。 – SJuan76 2011-04-11 09:05:23
它很失敗,很奇怪,數據庫中的日期是正確的dd/mm/yyyy。只有當我插入一條記錄時,它會交換dd和mm並存儲它。怪怪的。 – TeaDrinkingGeek 2011-04-11 10:06:47