mysql - 保修期已过?

标签 mysql date

我有两个值,一个 InvoiceDate(格式:YYYY-MM-DD)和一个 WarrantyPeriod(格式:nn)(保修年数)

一个简单的查询来选择保修已过期的项目?

我尝试过这个:

SELECT
*
FROM
(
    SELECT
        UNIX_TIMESTAMP(DATE_FORMAT(item_invoice_date, '%Y-%m-%d %H:%i:%s')) AS ux_id,
        (item_warranty_period * 365 * 86400) AS ux_wp
    FROM
        items
    WHERE
        items.item_warranty_period > 0
    AND
        items.item_invoice_date != '0000-00-00'
) wd
,items
WHERE
items.item_warranty_period > 0
AND
items.item_invoice_date != '0000-00-00'
AND
wd.ux_id - wd.ux_wp < UNIX_TIMESTAMP(NOW())
GROUP BY
items.item_id

但似乎不起作用

最佳答案

SELECT
  *
FROM
  items
WHERE
  NOW() > (invoice_date + INTERVAL warranty_period YEAR)

关于mysql - 保修期已过?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18558053/

相关文章:

java - 如何在 java 中重用 SimpleDateFormat 类对象以获得不同格式的答案

php - 将日期增加一个月

mysql - MySQL 中的加盐和散列密码

c# - 将数据表自动增量列与数据库同步

php - PDO 在 PHP5.4 中将整数列作为字符串返回

php - 如果其他人打开了记录,我如何防止其他人打开它?

java - 查找上个月的最后一个星期五并检查当前日期之间有多少天

java - 将日期从 GMT 时区转换为本地时区——使用 ISO_OFFSET_DATE_TIME

python 用时区解析日期时间

mysql - 我该如何解决这个问题 : getting values, 和类型错误