我有一個VARCHAR(10)
數據類型列,日期格式爲DD\MM\YYYY
格式。 我試過使用convert(datetime,LOCALDATE_T,103)
等等。然而拋出一個錯誤T SQL SSMS將Varchar DD MM YYYY轉換爲日期格式
轉換日期和/或時間從字符 字符串轉換失敗。
我不確定我的查詢是否可以讀取DD\MM\YYYY
。我通常會轉換DD/MM/YYYY
格式的列,即/
,但不是這個\
請求您的幫助。
我有一個VARCHAR(10)
數據類型列,日期格式爲DD\MM\YYYY
格式。 我試過使用convert(datetime,LOCALDATE_T,103)
等等。然而拋出一個錯誤T SQL SSMS將Varchar DD MM YYYY轉換爲日期格式
轉換日期和/或時間從字符 字符串轉換失敗。
我不確定我的查詢是否可以讀取DD\MM\YYYY
。我通常會轉換DD/MM/YYYY
格式的列,即/
,但不是這個\
請求您的幫助。
工作溶液是:
CONVERT(datetime, REPLACE(LOCALDATE_T, '\', '/'), 103)
或
CAST(REPLACE(LOCALDATE_T, '\', '/') as date)
使用REPLACE
代替CONVERT功能
REPLACE(LOCALDATE_T,'\','/')
REPLACE(mydatetextfield, '\', '/') – john
*不要*將日期存儲爲字符串。這是一種危害人類的罪行。使用'date'類型 –
例如,由於字符串按字母順序排序,因此無法查詢日期之前,之後或其他日期之間的日期。你不能在這個colun上使用索引。 Casting將允許您查詢但強制* FULL TABLE SCAN *。它本質上是無用的。 –