我在兩臺不同的Windows 7計算機上運行SAME Delphi 2007代碼並訪問遠程服務器上的SAME SQL Server數據庫。在一臺機器上,數據庫中的日期以2013-01-25 00:00:00.000的格式讀取,導致應用程序在嘗試將此日期轉換爲DateTime時崩潰。在另一臺機器上,以1/25/2013的格式讀取日期,該日期正確地轉換爲日期時間,沒有任何問題。是什麼造成這種差異? (我確認兩臺機器上的控制面板的「區域和語言」設置是相同的)。數據庫中的日期存儲爲datetime2。SQL Server日期格式處理
回答
在一臺機器上,數據庫中的日期以格式2013-01-25 00:00:00.000讀取,導致應用程序在嘗試將此日期轉換爲DateTime時崩潰。在其他計算機上的日期被讀取其中正確地轉換爲datetime沒有任何問題
我不知道德爾福,但是,從SQL Server端的任何格式的2013年1月25日:
日期是Date
,沒有格式。如果您的列的數據類型爲Date
,則轉換爲DateTime
時不應出現任何錯誤。
我懷疑你可能會在字符串類型字段中存儲日期,在這種情況下,最好在轉換爲DateTime
之前使用文化特定的ISO or ISO8601 format。
所有日期都是datetime2 –
您是否試圖在Delphi代碼中將字符串轉換爲日期? – Kaf
不,我只是運行語句myDate:= aQuery.FieldByName('curr_date')。asDateTime和應用程序在某些機器上的這一行崩潰,但不是其他機器。 –
- 1. SQL Server日期格式yyyymmdd
- 2. sql server express - 日期格式
- 3. SQL Server的日期格式
- 4. SQL Server日期格式 - ddd
- 5. 如何處理SQL Server的日期格式?
- 6. 處理日期格式
- 7. 在SQL Server中處理日期
- 8. SQL Server到Oracle |日期格式錯誤
- 9. 日期格式錯誤SQL Server 2000 + ASP
- 10. 在Sql Server中轉換日期格式
- 11. Sql Server日期格式DD-Mon-YY
- 12. SQL Server日期格式MM/DD/YYYY
- 13. 日期格式的SQL Server不匹配
- 14. SQL Server日期格式差異
- 15. 使用SQL Report Server格式化日期
- 16. sql server 2008中的日期格式
- 17. 在SQL Server 2012中的日期格式
- 18. SQL Server中的日期格式
- 19. 樹枝,格式日期SQL Server
- 20. 在SQL Server中需要日期格式
- 21. SQL Server的php日期時間格式
- 22. SQL Server 2008 R2的日期格式
- 23. 日期時間格式在SQL Server 2008
- 24. 在SQL Server中更改日期格式
- 25. 在SQL Server 2008中格式化日期?
- 26. 更改SQL Server 2005日期格式
- 27. SQL Server格式日期DD.MM.YYYY HH:MM:SS
- 28. 批處理日期格式YYMMDD
- 29. 如何處理多種日期格式?
- 30. 其他處理更改日期格式
不知道關於Delphi的任何信息,但您遇到問題的'YYYY-MM-DD hh:mm:ss'是sql server中日期的標準返回格式,您的代碼應該可以修復爲處理它。另外,你可以發佈你從數據庫中提取信息的代碼嗎? – Kevin
是的,我知道Cast和Convert函數,但是我必須在每個日期轉換爲DateTime的時候實現這一點,這將是一個巨大的努力。我想知道是否有一種方法可以在建立與db的連接後運行查詢ONCE來完成此操作。代碼很簡單:aQuery:'從aTable中選擇curr_date'myDate:= aQuery.FieldByName('curr_date')。asDateTime。如果我在執行'myDate'之前檢查aQuery.FieldByName('curr_date')的值,在一臺機器上它是2013年1月25日,而另一臺機器是2013-01-25 00:00:00.000 –
數據庫中的數據類型是curr_date? – Kevin