[英]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.