1

我的查询有问题,即使我现在发布帖子,TIMESTAMPDIFF 也不适用于 MINUTE。但是,如果我把 DAY 或 MONTH 放在它的工作原理上,我真的无法弄清楚可能是什么问题。我有比秒更新的帖子。请任何帮助将不胜感激

SELECT h2s_job.job_id,
       h2s_job.job_title,
       h2s_job.job_description,
       h2s_job.job_category,
       h2s_job.wantORoffering,
       h2s_job.address,
       h2s_job.cell,
       h2s_job.email,
       h2s_job.date_registered,
       h2s_ad_info.date_registered,
       h2s_job.user_id
FROM h2s_job
INNER JOIN h2s_ad_info ON h2s_job.user_id=h2s_ad_info.user_id
WHERE TIMESTAMPDIFF(MINUTE,h2s_ad_info.date_registered ,NOW())<1
4

3 回答 3

1

我假设date_registered是一个TIMESTAMPor DATETIME。如果是这样,您可以这样做:

where NOW() - SECOND(h2s_ad_info.date_registered) < 1
于 2013-04-16T08:53:42.177 回答
1

试试这个,

"SELECT TIMESTAMPDIFF(MINUTE, h2s_ad_info.date_registered, now()),
           h2s_job.job_id,
           h2s_job.job_title,
           h2s_job.job_description, 
           h2s_job.job_category,
           h2s_job.wantORoffering,
           h2s_job.address,h2s_job.cell,
           h2s_job.email,
           h2s_job.date_registered,
           h2s_job.user_id 
    From h2s_job
    INNER JOIN h2s_ad_info
    ON  h2s_job.user_id=h2s_ad_info.user_id
    where (TIMESTAMPDIFF(MINUTE, h2s_ad_info.date_registered, now()) < 1)";

这可以帮助你。

于 2013-04-16T09:06:46.647 回答
1

我发现了您的问题:它从您插入时间的位置开始:转到您的数据库,将 date_registered 数据类型设置为 datetime:然后使用波纹管函数并使用 $date_registered 插入您的数据库:更改国家和城市以获取正确的时间,因为那是您遇到问题的地方:我确定您的系统上的时间不一样,这就是原因。所以定位你的国家和城市

<?php
    # function to get right time 
    date_default_timezone_set('Africa/Johannesburg');
    function time_diff_conv($start, $s)
    {
        $string="";
        $t = array( //suffixes
            'd' => 86400,
            'h' => 3600,
            'm' => 60,
        );
        $s = abs($s - $start);
        foreach($t as $key => &$val) {
            $$key = floor($s/$val);
            $s -= ($$key*$val);
            $string .= ($$key==0) ? '' : $$key . "$key ";
        }
        return $string . $s. 's';
    }

date_registered = date('Y-m-d H:i:s');

# use this if u wanna show day friday like that date('l jS \of F Y \a\t h:i:s A')."\n";
    # function to get right time 
?>
于 2013-04-16T14:46:02.597 回答