2017-09-15 100 views
0

我有一個VARCHAR(10)數據類型列,日期格式爲DD\MM\YYYY格式。 我試過使用convert(datetime,LOCALDATE_T,103)等等。然而拋出一個錯誤T SQL SSMS將Varchar DD MM YYYY轉換爲日期格式

轉換日期和/或時間從字符 字符串轉換失敗。

我不確定我的查詢是否可以讀取DD\MM\YYYY。我通常會轉換DD/MM/YYYY格式的列,即/,但不是這個\

請求您的幫助。

+2

REPLACE(mydatetextfield, '\', '/') – john

+1

*不要*將日期存儲爲字符串。這是一種危害人類的罪行。使用'date'類型 –

+0

例如,由於字符串按字母順序排序,因此無法查詢日期之前,之後或其他日期之間的日期。你不能在這個colun上使用索引。 Casting將允許您查詢但強制* FULL TABLE SCAN *。它本質上是無用的。 –

回答

1

工作溶液是:

CONVERT(datetime, REPLACE(LOCALDATE_T, '\', '/'), 103) 

CAST(REPLACE(LOCALDATE_T, '\', '/') as date) 
0

使用REPLACE代替CONVERT功能

REPLACE(LOCALDATE_T,'\','/') 
相關問題