【发布时间】:2020-10-11 07:03:27
【问题描述】:
我有一个名为 expiry 的列,它以 Unix 时间戳的形式存储到期日期时间。我要选择没有过期的记录。
SELECT * FROM user_subscription WHERE username = ? AND expiry < NOW()
例如,如果到期等于 1601427661,即 2020 年 9 月 30 日上午 6 点左右,则不应选择该记录,因为它已到期。
【问题讨论】:
我有一个名为 expiry 的列,它以 Unix 时间戳的形式存储到期日期时间。我要选择没有过期的记录。
SELECT * FROM user_subscription WHERE username = ? AND expiry < NOW()
例如,如果到期等于 1601427661,即 2020 年 9 月 30 日上午 6 点左右,则不应选择该记录,因为它已到期。
【问题讨论】:
SELECT *
FROM user_subscription
WHERE username = ?
AND expiry < UNIX_TIMESTAMP()
【讨论】:
使用 FROM_UNIXTIME() 转换日期时间
where username= ? and FROM_UNIXTIME(expiry)>now()
【讨论】:
expiry上使用索引