2017-03-01 7 views
0

こんにちは、変更varchar型の日付DD/MM/YYYY

I varchar型で日付を持っている私のテーブルの列の1(10)をCONVERするために、現在の必要性 - DD/MM/YYYYフォーマットをyyyy-mm-ddの日付フォーマットに変更

これは可能ですか?私はしばらくの間、SQLを使用していない

ありがとう

+1

をはい、それは可能です。どのdbmsを使用していますか?ほとんどの製品は日付/時刻に関してANSI SQLに準拠していないため、このソリューションはおそらく製品固有のものです。 – jarlh

+0

日付データ型に固有の書式がありません。表示される形式は、ローカル設定に依存します。 – HoneyBadger

+0

こんにちは、私はSQL Server Management Studioを使用しています – user3565178

答えて

0

可能な場合あなたは、日付データ型の列に日付値を保持するテーブルの構造を変更する必要があります。

あなたは、テーブルの構造を変更することができない場合は、CONVERT使用することができます。

SELECT CONVERT(Date, VarCharColumn, 103) As DateValue 
FROM YourTable 
WHERE VarCharColumn LIKE '[0-3][0-9]/[0-1][0-9]/[0-9][0-9][0-9][0-9]' 
AND ISDATE(VarCharColumn) = 1 
+0

それはSQL Server 2008で、私はそれを使用するときに次のエラーが表示されます - 文字列から日付および/または時刻を変換するときに変換が失敗しました – user3565178

+1

これはあなたのテーブルのどこかにこれで日付に変換できない値があることを意味しますフォーマット。 –

+0

私は、 'dd/mm/yyyy'フォーマットに合わない値を入れるのに役立つwhere節を含めるように答えを編集しました。同様の部分には'39/17/0000 'のような値も許されているので、isdateの使用もあります。 –

関連する問題