データベーステーブル「mycodes」にこれらの2つの列があります
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の両方が正の数であり、有効なコードであることを確認します。PHP を使用してチェックするのではなく、mysql クエリ自体でこの有効性を計算する必要がある場合はどうすればよいですか? それ、どうやったら出来るの?
PS: WHERE 句で BETWEEN を使用することもできますが、その指定された範囲に含まれる行が返されますが、期限切れまたは期限切れではない状態のすべてのレコードを一覧表示する必要があります。