2016-06-22 14 views
0

テーブル内のすべての値を変換する必要があります。テーブルに日付があり、フォーマットがdd.mm.yyyのように変更する必要があります。VARCHARからDATETIMEに変換

DATETIMEのフォーマットはyyyy-mm-ddに変更する必要があります。

+0

CAST(FieldName as datetime)実際に詳細情報やサンプルデータ、 t worked –

+0

保存形式は "dd.mm.yyy"または "dd.mm.yyyy"ですか? –

答えて

0

あなたの日付は、それはあなたがそれらを変換する必要がある場合であれば、彼らはstored without any display format.

あり、その後、適切なデータ型(日付、日時またはDATETIME2)で保存されている場合データを選択する際char(10)へ:

SELECT CONVERT(char(10), DateTimeColumn, 120) 

を彼らは文字列型として保存されている場合は、データベースをリファクタリングし、それらを適切に保管しなければなりません。それが何らかの理由で不可能な場合は、2回変換することができます。 1つは文字列から日付に、もう1つは文字列に戻る

SELECT CONVERT(char(10), CONVERT(date, DateTimeStringColumn, 104), 120) 
0

CONVERTファンクションは、スタイル20で使用してください。

SELECT CONVERT(VARCHAR,yourdatefield,20) 

出力:

yyyy-mm-dd hh:mi:ss 
0
SELECT CONVERT(NVARCHAR(10),CONVERT(DATETIME,yourData,104),20) 
0

フォーマットは "DD.MM.YYYY" である場合。 手順に従います。

  1. 削除古い列を新しい列

    ALTER TABLE TABLE_NAME ADD COLUMN_NAME DATETIME/DATE; 
    
  2. アップデート古い列

    UPDATE TABLE_NAME SET COLUMN_NAME=CONVERT(DATETIME,V_DATE_COL,104); 
    
  3. から日付値を持つ列を追加します

    ALTER TABLE TABLE_NAME DROP COLUMN V_DATE_COL 
    
  4. 名の変更新しい列

    EXEC sp_RENAME 'TABLE_NAME.COLUMN_NAME' , 'NewColumnName', 'COLUMN' 
    
関連する問題