在mysql ADDDATE中将INTERVAL设置为变量

在mysql ADDDATE中将INTERVAL设置为变量,mysql,Mysql,我在mysql中有这样一行代码: SELECT <columns> FROM table WHERE TIME_TO_SEC(TIMEDIFF(NOW(), ADDDATE(DATE_OF_REG, INTERVAL 1 HOUR))) / 3600 >= 24 选择 从桌子上 其中,时间到秒(TIMEDIFF(NOW(),ADDDATE(DATE\u OF_REG,INTERVAL 1 HOUR))/3600>=24 我还有一个时区列,它将与服务器的时差存储为一个数字。

我在mysql中有这样一行代码:

SELECT <columns>
FROM table
WHERE TIME_TO_SEC(TIMEDIFF(NOW(), ADDDATE(DATE_OF_REG, INTERVAL 1 HOUR))) / 3600 >= 24
选择
从桌子上
其中,时间到秒(TIMEDIFF(NOW(),ADDDATE(DATE\u OF_REG,INTERVAL 1 HOUR))/3600>=24
我还有一个时区列,它将与服务器的时差存储为一个数字。 如何在ADDDATE函数中添加此数字? 例如,添加日期(日期、间隔、时区)或某物…

SET@INTERVAL\u count=YourTimezoneColumn;
SET @interval_count = YourTimezoneColumn;
SELECT <columns>
FROM table
WHERE TIME_TO_SEC(TIMEDIFF(NOW(), DATEDIFF(DATE_OF_REG, INTERVAL @interval_count HOUR)) / 3600 >= 24
选择 从桌子上 其中时间到秒(TIMEDIFF(NOW(),DATEDIFF(DATE\u OF\u REG,INTERVAL@INTERVAL\u count HOUR))/3600>=24
您可以使用TIMESTAMPADD函数完成此操作

而不是这个:
ADDDATE(DATE\u of\u REG,间隔1小时)


写这个:
TIMESTAMPADD(小时、时区、日期)

我今天没有可用的MySQL,但是根据时间间隔,时间间隔数字可以是一个表达式。看看这是否有效:

ADDDATE(DATE_OF_REG, INTERVAL myTimeStamp HOUR)
如果这不起作用,请尝试以下方法,这或多或少是在Oracle中必须做到的:

ADDDATE(DATE_OF_REG, myTimeStamp * INTERVAL 1 HOUR)