我已被賦予轉換日期的任務定義爲Varchar(50)
的字段。正如預期的那樣塔內日期是有點不正常格式,這樣DECEMBER 11, 2011
SQL Server ISDATE轉換前返回錯誤「轉換日期和/或時間從字符串轉換失敗」
我用ISDATE(datefield)
,但它說,從字符串轉換日期和/或時間時
轉換失敗
我的第二個選擇是使用此語句
UPDATE dbo.tbl_arrest_information
SET date_arrested = CASE
WHEN ISDATE(date_arrested) > 0
THEN CONVERT(datetime, date_arrested)
ELSE '01/01/1901'
END
我用'01更新列/ 01/1901' ,因爲它不接受空值,但它返回一個錯誤,指出
字符串或二進制數據將被截斷
我清楚地知道,日期字段的長度50,所以我迷失在爲什麼它正在發生。
任何意見將是有益的。
謝謝
如果'date_arrested'是一個varchar字段,那麼爲什麼在轉換時轉換爲'datetime'呢? – Bharadwaj
是不是正確的檢查,如果它做任何事情之前有效的日期?你會怎麼建議? – angelogogo
嘗試'THEN date_arrested'。而不是'然後CONVERT(datetime,date_arrested)' – Bharadwaj