繁体   English   中英

计算MySQL和PHP中的日期差

[英]Calculate date difference in MySQL and PHP

假设我们有一个MYSQL数据库“员工”。

该数据库包含一列“ EXP”,其中包含一个表示人员开始日期的字符串...示例:“ 2015-01-11”(格式:yyyy-mm-dd)

我希望数据库查询返回一个变量“ experience”,该变量是通过将当前日期与EXP列中包含的日期进行比较而得出的。

这是最近的尝试; 我正在尝试的是:

SELECT phone, name, (DATEDIFF('CURDATE()','EXP') AS experience, bio, photo,  FROM squad

你能告诉我我要完成什么吗? 如果有人知道正确的代码放在这里,将不胜感激。

请注意,如果我只是替换代码

(DATEDIFF('CURDATE()','EXP') AS experience

使用'EXP',则没有错误,一切都按预期进行。

您有多余的括号,并且'EXP'将使用字符串文字而不是db字段

    SELECT phone, name, DATEDIFF(now(), exp) AS experience, bio, photo
FROM squad

工作演示: http : //sqlfiddle.com/#!9/79e87/2

根据您对问题的理解和select语句的理解,我认为您语法错误,请检查以下查询

SELECT phone, name, DATEDIFF(now(), exp) AS experience, bio, photo
FROM squad

删除CURDATE()周围的引号,它是函数,因此不需要引号

SELECT phone, name, (DATEDIFF(CURDATE(), EXP) AS experience, bio, photo,  FROM squad

尝试

SELECT phone, name, DATEDIFF(CURDATE(),EXP) AS experience, bio, photo,  FROM squad

试试这个查询,

    SELECT 
            phone, name, 
            CONCAT( 
                    FLOOR(TIMESTAMPDIFF(MONTH,exp,CURDATE())/12),
                    ' Year(s), ', 
                    (TIMESTAMPDIFF(MONTH,exp,CURDATE())%12),
                    ' Month(s)'
                  ) AS experience,
            bio, photo  
    FROM 
            squad;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM