2017-09-15 2 views
0

DD\MM\YYYY形式のデータ型列VARCHAR(10)があります。 convert(datetime,LOCALDATE_T,103)などを使用して試しました。しかし、T SQL SSMS Varchar DD MM YYYYを日付形式に変換します。

の文字を 文字列から変換すると変換に失敗しました。

私のクエリでDD\MM\YYYYが読み取れるかどうかは確信が持てません。私は通常、カラムをDD/MM/YYYYフォーマット(/)から変換していますが、これはありません\

+2

は(mydatetextfieldを、 '\'、 '/')REPLACE – john

+1

*日付を文字列として保存しないでください。これは人道に対する罪です。 'date'型を使用する –

+0

例えば、文字列がアルファベット順にソートされているため、他の日付の前、後、またはその間の日付を照会することはできません。この列でインデックスを使用することはできません。キャスティングではクエリを実行できますが、強制的に* FULL TABLE SCAN *になります。本質的に役に立たない。 –

答えて

1

作業溶液は次のとおりです。

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

または

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

使用REPLACEの代わりに、CONVERT関数

REPLACE(LOCALDATE_T,'\','/') 
関連する問題