如何在不重复计算的情况下执行SQL

我有以下代码:

SELECT *
FROM tier  
WHERE  
    TIMESTAMPDIFF( HOUR, now(), FROM_UNIXTIME(expireAt) )  < 72
AND TIMESTAMPDIFF( HOUR, now(), FROM_UNIXTIME(expireAt) )  > 0

你可以看到,有TIMESTAMPDIFF两次计算。

有没有办法只执行一次这个计算?

回答

之间可以使用。由于 between 包括范围边界,您需要使用 1 和 71 而不是 0 和 72。

SELECT *
FROM tier  
WHERE  
    TIMESTAMPDIFF( HOUR, now(), FROM_UNIXTIME(expireAt) ) between 1 and  71


以上是如何在不重复计算的情况下执行SQL的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>