Pin*_*wer 2 javascript php mysql
我正在使用time()(php函数)存储日期列.我的日期列有一个int数据类型,因为我正在使用time()php函数.
这是一个示例:
date
1317957366
1318043891
Run Code Online (Sandbox Code Playgroud)
我的问题是,我如何查询或创建一个逻辑,以获得一个时间与今天时间最接近的结果?
我想通过mysql查询它而不是php逻辑,但如果你有建议我应该在php上做,那也没关系.
谢谢你的帮助将非常感激和奖励.:)
比较当前时间的绝对值 - 存储的时间,并选择MIN()其中:
也许是这样的?
SELECT *
FROM tbl
GROUP BY `date`
HAVING MIN(ABS(UNIX_TIMESTAMP(NOW()) - `date`));
Run Code Online (Sandbox Code Playgroud)
如果这不能正常工作,请尝试使用子查询:
SELECT *
FROM tbl
WHERE ABS(UNIX_TIMESTAMP(NOW()) - `date`) IN
SELECT (MIN(ABS(UNIX_TIMESTAMP(NOW()) - `date`)) FROM tbl);
Run Code Online (Sandbox Code Playgroud)
由于您已将日期存储为INT而不是MySQL DATETIME,因此需要将当前时间戳NOW()转换为Unix时间戳,然后减去存储的时间戳date.
| 归档时间: |
|
| 查看次数: |
462 次 |
| 最近记录: |