私はSQL Server Management Studioを使用しています。私のデータベースには、nvarchar(255)として格納されている日付を含むテーブルが1つあります。このテーブルのデータをConverted_Datesという新しいテーブルに移行し、このデータを日付として保存したいと考えています。また、私はそれらすべてがこのYYYY-MM-DDのようにフォーマットすることにしたいSQL Serverのフォーマットでnvarcharを日付にキャスト
現在の日付テーブルには、次のようになります。
**Converted_Dates**
2011-06-15
2011-06-16
2013-03-30
2013-04-16
...
:
**Dates**
15/6/2011
16/6/2011
2013-03-30
2013-04-16
...
は、私は新しいテーブルは次のようになりたいです
このクエリは実行されますが、日付の書式設定は同じままです。データ型だけがnvarchar(255)からdateに変更されます。
USE [reporting_database]
GO
INSERT INTO [dbo].[Converted_Dates]
SELECT
cast(Dates as date)
FROM [dbo].[Dates]
GO
古いテーブルのデータを新しいテーブルに適切な形式でキャストする方法についてのアドバイスはありますか?
データベース内の日付は、定義した形式では格納されません。それらは単に日付として保存されます。クライアント/サーバ/マシン/クライアントに日付がどのように表示されるかは、クライアントの設定によって異なります。変更することはできますが、データベースに保存されている日付の形式は変更されません。 – Utsav
既存のクエリに 'where isDate(dates)= 1'を追加してみてください。 –