簡體   English   中英

sql從今天和持續時間計算日期

[英]sql calculate date from today and duration

我有一個名為訂戶的表,它有

  • 用戶<< =====會員
  • 狀態<< =====用於激活或禁用0或1
  • 日期<< =====開始日期,例如:2013-12-06
  • 持續時間<< =====這里我設置為30天

所以我想在這里做的是從開始日期,當前日期和持續時間計算

如果持續30天已過期,則將狀態設置為0

這是代碼

mysql_query("UPDATE subscribers SET status=1, WHERE status = 0 and (TO_DAYS(date) + duration) - TO_DAYS(NOW())  < 0");

對不起,我的英語,謝謝您的幫助

您的方案和方法都可以

您只有語法錯誤:請在WHERE之前刪除,入侵者

也正如Vinicius Monteiro所說:

如果該字段始終更新,請考慮不使用該字段,僅使用SELECT

因此您的查詢應如下所示:

UPDATE subscribers SET status=0 WHERE (TO_DAYS(date) + duration) - TO_DAYS(NOW())  < 0

另外,如果您具有: sql_safe_updates=1則先前的更新將引發錯誤。 如果是這種情況,請在Google中搜索:“ MySQL禁用安全更新”

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM