Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/58.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql e1天14分钟…是从哪里来的,而datesub()没有给你什么?你可能可以使用TIMEDIFF()和DATE\u FORMAT():你需要更具体一些。你想如何比较它们,1天14分钟…从何而来,datesub()没有给你什么?你可能可以使用TIMEDIFF(_Mysql - Fatal编程技术网

Mysql e1天14分钟…是从哪里来的,而datesub()没有给你什么?你可能可以使用TIMEDIFF()和DATE\u FORMAT():你需要更具体一些。你想如何比较它们,1天14分钟…从何而来,datesub()没有给你什么?你可能可以使用TIMEDIFF(

Mysql e1天14分钟…是从哪里来的,而datesub()没有给你什么?你可能可以使用TIMEDIFF()和DATE\u FORMAT():你需要更具体一些。你想如何比较它们,1天14分钟…从何而来,datesub()没有给你什么?你可能可以使用TIMEDIFF(,mysql,Mysql,e1天14分钟…是从哪里来的,而datesub()没有给你什么?你可能可以使用TIMEDIFF()和DATE\u FORMAT():你需要更具体一些。你想如何比较它们,1天14分钟…从何而来,datesub()没有给你什么?你可能可以使用TIMEDIFF()和DATE\u FORMAT():你能看看上面的编辑吗?我现在很迷茫。我目前正在阅读MySQL手册,运气不太好。我很想在我的查询中使用它。你不能仅仅用表列替换'2011-02-01 00:00:00',因为内部查询在我尝试时显然不知道外部表:


e
1天14分钟…
是从哪里来的,而
datesub()
没有给你什么?你可能可以使用
TIMEDIFF()
DATE\u FORMAT()
:你需要更具体一些。你想如何比较它们,
1天14分钟…
从何而来,
datesub()
没有给你什么?你可能可以使用
TIMEDIFF()
DATE\u FORMAT()
:你能看看上面的编辑吗?我现在很迷茫。我目前正在阅读MySQL手册,运气不太好。我很想在我的查询中使用它。你不能仅仅用表列替换
'2011-02-01 00:00:00'
,因为内部查询在我尝试时显然不知道外部表:@mellamokb:你是对的。将我的查询集成到Brandon的查询中会有点太麻烦(好吧,太麻烦了)。这就是为什么我给我的答案添加了一个存储函数。@ MelaMaMb:你在查询的中间留下了额外的分号,就在驻地细节之前。你的国王,解决了这个问题。我想在查询性能问题时保留这一点,并将PHP编码保持在最低限度。感谢大家的帮助。我相信我会有更多关于查询的问题。我在这里看到了很多潜力。你能看看上面的编辑吗?我现在很迷茫。我目前正在阅读MySQL手册,运气不太好。我很想在我的查询中使用它。你不能仅仅用表列替换
'2011-02-01 00:00:00'
,因为内部查询在我尝试时显然不知道外部表:@mellamokb:你是对的。将我的查询集成到Brandon的查询中会有点太麻烦(好吧,太麻烦了)。这就是为什么我给我的答案添加了一个存储函数。@ MelaMaMb:你在查询的中间留下了额外的分号,就在驻地细节之前。你的国王,解决了这个问题。我想在查询性能问题时保留这一点,并将PHP编码保持在最低限度。感谢大家的帮助。我相信我会有更多关于查询的问题。我看到这里有很多潜力。
2011.10.05 10:12:50 - Date time table
Current date
$query = "select country, rprice as regPrice, mprice as midPrice, pprice as prePrice, saddress as streetAddress,
                _id as ID, lat, lng, sname as Name, logo, admin_level_1 as state, locale as city, rdate as regDate, 
                mdate as midDate, pdate as preDate, 
                format((acos(sin(radians($lat1)) * sin(radians(lat)) + cos(radians($lat1)) *
                cos(radians(lat)) * cos(radians($lng1) - radians(lng))) * 6378),1) as distance from stationDetails where 
                (acos(sin(radians($lat1)) * sin(radians(lat)) + cos(radians($lat1)) * cos(radians(lat)) * 
                cos(radians($lng1) - radians(lng))) * 6378) <= $rad order by $sort asc, $type asc";
DELIMITER $$

DROP FUNCTION IF EXISTS `GetTimeDisplay2` $$

CREATE FUNCTION `GetTimeDisplay2` (GivenTimestamp TIMESTAMP)

RETURNS VARCHAR(32)

DETERMINISTIC

BEGIN    

    DECLARE rv VARCHAR(32);

    DECLARE diff BIGINT;    

    SET diff = UNIX_TIMESTAMP()-UNIX_TIMESTAMP(GivenTimestamp);

        IF diff < 0 THEN

        SET rv = CONCAT(abs(diff/60),' From Now');

    END IF;

    IF diff = 0 THEN

        SET rv = 'Just Now';

    END IF;

    IF diff = 1 THEN

        SET rv = '1 sec ago';

    END IF;

    IF diff BETWEEN 2 AND 60 THEN

        SET rv = CONCAT(FORMAT(diff, 0), ' secs ago');

    END IF;

    IF diff BETWEEN 120 AND 3599 THEN

        SET rv = CONCAT(FORMAT(diff/60, 0), ' mins ago');

    END IF;

    IF diff BETWEEN 61 AND 119 THEN

        SET rv = CONCAT(FORMAT(diff/60, 0), ' min ago');

    END IF;

    IF diff = 3600 THEN

        SET rv = CONCAT(FORMAT(diff/3600, 0), ' hr ago');

    END IF;

    IF diff BETWEEN 3601 AND 86399 THEN

        SET rv = CONCAT(FORMAT(diff/3600, 0), ' hrs ago');

    END IF;

    IF diff > 86400 THEN

        SET rv = DATE_FORMAT(GivenTimestamp, '%a %l:%i %p');

    END IF;

    IF diff > 259200 THEN

        SET rv = DATE_FORMAT(GivenTimestamp, '%b %e at %l:%i %p');

    END IF;

    RETURN rv;

END $$

DELIMITER ;
SELECT 
    TRIM(REPLACE(CONCAT(
        IF(dy=0,'',IF(dy=1,'1 day ',CONCAT(dy,' days '))),
        IF(hr=0,'',IF(hr=1,'1 hr ', CONCAT(hr,' hrs  '))),
        IF(mn=0,'',IF(mn=1,'1 min ',CONCAT(mn,' mins '))),
        IF(sc=0,'',IF(sc=1,'1 sec ',CONCAT(sc,' secs ')))),'  ',' '))
    TimeDisplay
FROM (SELECT dy,hr,mn,MOD(sec_aaaa,60) sc
FROM (SELECT dy,hr,FLOOR((sec_aaa - dy*86400 - hr*3600)/60) mn,sec_aaa sec_aaaa
FROM (SELECT dy,FLOOR((sec_aa - (dy*86400))/3600) hr,sec_aa sec_aaa
FROM (SELECT FLOOR(sec_a/86400) dy,sec_a sec_aa
FROM (SELECT (UNIX_TIMESTAMP() - UNIX_TIMESTAMP('2011-02-01 00:00:00')) sec_a)
A) AA) AAA) AAAA) B;
DELIMITER $$

DROP FUNCTION IF EXISTS `test`.`GetTimeDisplay` $$
CREATE FUNCTION `test`.`GetTimeDisplay` (GivenTimestamp TIMESTAMP)
RETURNS VARCHAR(32)
DETERMINISTIC
BEGIN

    DECLARE rv VARCHAR(32);
    DECLARE diff BIGINT;

    SET diff = UNIX_TIMESTAMP() - UNIX_TIMESTAMP(GivenTimestamp);
    SELECT
        TRIM(REPLACE(CONCAT(
            IF(dy=0,'',IF(dy=1,'1 day ',CONCAT(dy,' days '))),
            IF(hr=0,'',IF(hr=1,'1 hr ', CONCAT(hr,' hrs  '))),
            IF(mn=0,'',IF(mn=1,'1 min ',CONCAT(mn,' mins '))),
            IF(sc=0,'',IF(sc=1,'1 sec ',CONCAT(sc,' secs ')))),'  ',' '))
    INTO rv
    FROM (SELECT dy,hr,mn,MOD(sec_aaaa,60) sc
    FROM (SELECT dy,hr,FLOOR((sec_aaa - dy*86400 - hr*3600)/60) mn,sec_aaa sec_aaaa
    FROM (SELECT dy,FLOOR((sec_aa - (dy*86400))/3600) hr,sec_aa sec_aaa
    FROM (SELECT FLOOR(sec_a/86400) dy,sec_a sec_aa
    FROM (SELECT ABS(UNIX_TIMESTAMP() - UNIX_TIMESTAMP(GivenTimestamp)) sec_a)
    A) AA) AAA) AAAA) B;

    IF diff = 0 THEN
        SET rv = '0 secs';
    END IF;
    IF diff < 0 THEN
        SET rv = CONCAT(rv,' From Now');
    END IF;
    IF diff > 0 THEN
        SET rv = CONCAT(rv,' Ago');
    END IF;

    RETURN rv;

END $$

DELIMITER ;
$query = "select country, rprice as regPrice, mprice as midPrice, pprice as prePrice, saddress as streetAddress,
                _id as ID, lat, lng, sname as Name, logo, admin_level_1 as state, locale as city, test.GetTimeDisplay(rdate) as regDate, 
                test.GetTimeDisplay(mdate) as midDate, test.GetTimeDisplay(pdate) as preDate, 
                format((acos(sin(radians($lat1)) * sin(radians(lat)) + cos(radians($lat1)) *
                cos(radians(lat)) * cos(radians($lng1) - radians(lng))) * 6378),1) as distance from stationDetails where 
                (acos(sin(radians($lat1)) * sin(radians(lat)) + cos(radians($lat1)) * cos(radians(lat)) * 
                cos(radians($lng1) - radians(lng))) * 6378) <= $rad order by $sort asc, $type asc";