![](/img/trans.png)
[英]Is there a way to convert a varchar to DATETIME in SQL SERVER 2008?
[英]SQL Server 2008 VarChar To DateTime
我有一個表,不幸的是許多日期都存儲為字符串。
我有許多報告將其轉換為日期時間並按它們進行過濾。 直到今天突然間我收到這個錯誤,這一切都很好
“將varchar數據類型轉換為datetime數據類型導致超出范圍的值。”
日期全部以“ yyyy-mm-dd”格式存儲,並且都有效。
如果我運行以下SQL語句
SELECT CAST('2010-06-02' AS DateTime)
我希望得到“ 2010-06-02”,但是到今天為止,我得到的“ 2010-02-06”隨着SQL格式日期的方式發生了變化。 我看過服務器上的區域設置,這看起來都是正確的。
還有什么可能導致這種情況?
嘗試顯式設置格式
select convert(datetime, '2010-06-02',101)
獲得此轉換的明確方法是執行以下操作:
SELECT CAST(replace('2010-06-02', '-', '') AS DateTime)
它將始終被解釋為YYYYMMDD,而忽略set dateformat ydm
聲明或數據庫具有的任何文化設置。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.