2017-12-28 22 views
0

以下のSQL文で何が問題なのか分かりますか?私はエラー "間違ったdatetime値"を与えます。DatetimeでWhere句を使用してレコードを更新する方法

UPDATE stocks SET Notes = '0' where ExpireDate like '%2017-12-28%' and StockCount > 0; 
+0

あなたはこれを試してなかった https://stackoverflow.com/questions/2399753/select-from-table-by-knowing-only- date-without-time-oracle –

+0

タイムスタンプでlikeと%を使用しないでください –

答えて

1

これを試してみてください:

SET sql_safe_updates = 0; 
UPDATE STOCKS 
SET NOTES = '0' 
WHERE EXPIREDATE = CURDATE() 
AND STOCKCOUNT > 0; 
SET sql_safe_updates = 1; 

DEMO

+0

それでも動作しません。 「安全な更新モードを使用していて、KEY列を使用するWHEREなしでテーブルを更新しようとしました」 – Pathum

+0

実際に必要なのは、今日の日付を取得し、それが期限製品の状態を変更する期限が切れる..これを行うための他の方法がある場合、または私のSQLに間違いがあるかどうか教えてください。 – Pathum

関連する問題