我的数据库表“mycodes”中有这两列
code_valid_from_date
code_expiry_date
我需要检查给定日期是否在 mycodes 表中给出的日期的有效期限内。
例如,
mycodes
id, code_valid_from_date, code_expiry_date, name
1, 2013-08-01, 2013-08-28, 'Code 1'
2, 2013-08-29, 2013-09-20, 'Code 2'
3, 2013-07-01, 2013-07-28, 'Code 3'
我试过这个查询,
SELECT
DATEDIFF(NOW(), code_valid_from_date) valid_from_days,
DATEDIFF(code_expiry_date, NOW()) expiry_days_left
FROM mycodes
然后在我的 php 代码中,我检查这两个 DATEDIFF 都是正数,然后它是一个有效的代码。如果我必须在 mysql 查询本身中计算此有效性而不是使用 PHP 进行检查,该怎么办?我怎么做?
PS:我也可以在 WHERE 子句中使用 BETWEEN ,但这将返回该给定范围内的行,但我需要列出所有状态为过期或未过期的记录。