DELETE FROM BIZ
WHERE [Orgnl_Cmpltn_Date]
BETWEEN '2014-02-31' AND '2014-04-01'
これは私が書いたDELETE
ステートメントです。次のようなエラーがあります。
文字列から日付や時刻を変換するときに変換に失敗しました。
正しい日付形式を書かなければならないことは知っていますが、それがどうなるかはわかりません。
私が見た回答は日付形式を指定していなかったため、この質問は他の場所では回答されていません(私が求めているコンテキストで)
あなたは2月31日を書きました...多分.....その日付は存在しません。
DELETE FROM BIZ
WHERE [Orgnl_Cmpltn_Date]
BETWEEN '2014-02-28' AND '2014-04-01'
変換日の一般的な考え方については、次のようになります。
DELETE FROM BIZ
WHERE [Orgnl_Cmpltn_Date]
BETWEEN CONVERT(date,'2014.02.28',102) and CONVERT(date,'2014.04.01',102)
ここで、CONVERT
https://msdn.Microsoft.com/en-us/library/ms187928.aspx の3番目のパラメーターの値の完全なリストを見つけることができます。
SQL Serverを使用していると思いますが、これを試してください。
DELETE FROM BIZ
WHERE CONVERT(DATE,[Orgnl_Cmpltn_Date])
BETWEEN CONVERT(DATE,'2014-02-28') AND CONVERT(DATE,'2014-04-01')
代わりにこれを使用してください
DELETE FROM BIZ
WHERE [Orgnl_Cmpltn_Date] >= '2014-02-28'
AND [Orgnl_Cmpltn_Date] <= '2014'04'01'
これが重要かどうかはわかりませんが、2月は28日か29日しかありません。
いくつかのこと
1)2月31日などの日付はありません。これは問題になる可能性があります。
2)日付範囲を次の形式にすると、運が良くなる可能性があります。
BETWEEN '20140228' AND '20140401'
乗り方を教えてください:-)
次のコードを使用できます。
DELETE from Tabel_Name WHERE Date BETWEEN CONVERT(datetime,'01/01/2001',103) and CONVERT(datetime,'31/12/2001',103)