テーブルにを挿入する必要がありvarchar
ます。表のタイプはdatetime
なので、変換する必要があります。これが大きな問題になるとは思いませんでしたが、1900-01-01 00:00:00.000
希望の日付の代わりに挿入し続けます。変換した日付で選択を行うと、正しい日付が表示されます。
コードをお見せします:
INSERT INTO Item (CategoryId, [Date], Content, CreatedOn)
SELECT
CategoryId, Convert(datetime, '28/11/2012', 103), Content, GetDate()
FROM
Item i
JOIN
Category c ON i.CategoryId = c.Id
JOIN
Division d ON d.Id = c.DivisionId
WHERE
Date = Convert(datetime, '31/03/2005', 103)
AND d.Id = '142aaddf-5b63-4d53-a331-8eba9b0556c4'
where句は完全に機能し、必要なフィルタリングされたアイテムを提供します。変換された日付を除いて、すべてのデータが正しく挿入されます。私が1900年に言ったようなギブ-...
選択するだけの場合:
SELECT CategoryId, Convert(datetime, '28/11/2012', 103), Content, GetDate()
FROM Item i
JOIN Category c ON i.CategoryId = c.Id
JOIN Division d ON d.Id = c.DivisionId
WHERE Date = Convert(datetime, '31/03/2005', 103) AND d.Id = '142aaddf-5b63-4d53-a331-8eba9b0556c4'
正しい日付は次のとおり2012-11-28 00:00:00.000
です。私は次のような別の変換を使用しようとしました:
Convert(datetime, '20121128')
しかし、それでも同じ問題が発生します。私が間違っていることを見ている人はいますか?
どうも