编辑问题。
我有这样的SQL:
`table1`.`DateField` >= DATE_SUB(NOW(), INTERVAL {$days} DAY
现在24小时整整一天。但是,如果我想在最近3个小时左右进行查询怎么办?
我的table1
。DateField
的格式为2010-03-10 10:05:50
。
原帖:
如果我有这个
1小时
2小时
3个小时
..
24小时
我如何将其更改为几天?
感谢。
答案 0 :(得分:5)
$hours = 80;
$hid = 24; // Hours in a day - could be 24, 8, etc
$days = round($hours/$hid);
if( $days < 0 )
{
echo "$hours hours";
}
else
{
echo "$days days";
}
如果小于1天,则假设您需要小时数。如果不是只是取下开关。
答案 1 :(得分:1)
简单如下:
如果您想将这些小时的总数转换为白天: 只需总计小时数,总数必须除以24
(1 + 2 + 3 + 5)/ 24
如果您想将所有这些小时数转换为天数: 在列表中每小时除以24
(1/24)(2/24)(3/24)(5/24)
答案 2 :(得分:1)
MySQL不仅知道DAY
作为间隔的单位,还知道HOUR
,MINUTE
,....
见http://dev.mysql.com/doc/refman/5.1/en/date-and-time-functions.html#function_date-add
$x = 32;
$sql = "SELECT
x,y,z
FROM
foo
WHERE
`table1`.`DateField` >= NOW() - INTERVAL $x HOUR
";