0
データベースの列に日付がありますが、日付の形式が同じではありません。一部はmm-dd-yyyy
で、一部はmm.dd.yy
などです。クエリを使用して同じタイプにフォーマットするにはどうすればよいですか?更新日の列と書式の日付が同じパターン
私は、SQL Serverを使用しています2008年
データベースの列に日付がありますが、日付の形式が同じではありません。一部はmm-dd-yyyy
で、一部はmm.dd.yy
などです。クエリを使用して同じタイプにフォーマットするにはどうすればよいですか?更新日の列と書式の日付が同じパターン
私は、SQL Serverを使用しています2008年
私の推薦は次のようになります。
ALTER TABLE dbo.YourTable ADD NewDateColumn DATE
更新変換するためにあなたのテーブル:
があなたのテーブルにタイプDATE
の列を追加します。それらのvarchar
値からDATE
:
UPDATE dbo.YourTable
SET NewDateColumn = CAST(YourOldColumn AS DATE)
WHERE NewDateColumn IS NULL AND ISDATE(YourOldColumn) = 1
ドロップ、古いコラム:今から
ALTER TABLE dbo.YourTable DROP COLUMN YourOldColumn
は - 排他的に新しいDATE
列を使用します。
SELECT
CONVERT(VARCHAR(20), GETDATE(), 101) 'US format',
CONVERT(VARCHAR(20), GETDATE(), 102) 'ANSI format',
CONVERT(VARCHAR(20), GETDATE(), 104) 'German format'
はあなたを与える:
あなたがDATE
列のことができます。どんな文字列の出力にそれをあなたのフォーマットが必要なことをしたら あなたはsupported in SQL Server using the CONVERT
function
である任意の文字列表現にそれをフォーマットすることができます
US format ANSI format German format
12/29/2011 2011.12.29 29.12.2011
**どのような**データ型**はその列ですか?日付はSQL Serverに文字列として格納されないため、関連する**形式**はありません。つまり**適切なデータ型( 'DATE'または' DATETIME')を使用します** –
+1 @ marc_s - 書式設定は記憶域とは関係ありません。 – Oded
カラムがvarcharですが、日付が入ります – kinkajou