簡體   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