1
我想在mysql中實現一個基於計算返回年齡的過程。 出生日期(DATE)被傳入,然後計算完成。應該是比較直接的,但我似乎無法讓它工作。我不確定這是否是「選擇聲明」的適當情況,如果這非常簡單,我很抱歉,但這是我在程序中的第一次運行。如何計算MySQL存儲過程中的年齡?
如果有人可以請告訴我我做錯了什麼,它將不勝感激。
謝謝!
P.S.我有一個名爲「PERSON」的表,其中包含「age」(int)字段,該字段在調用存儲過程之前一直是空的。
DELIMITER $$
CREATE PROCEDURE determineAge(IN birthDate DATE)
BEGIN
DECLARE today TIMESTAMP;
SELECT DATEDIFF(today,birthdate)/365 AS ageInYears
FROM PERSON;
END $$
DELIMITER ;
call determineAge('June 25, 1981');
謝謝你這麼多的解釋!請問接受!出於最小限度,你介意在這種情況下顯示OUT參數如何工作?再次感謝 –
完成。底部添加了'OUT'參數示例。 –
'TIMESTAMPDIFF(YEAR,birthdate,NOW());'應該也能工作,並且它更具可讀性。 –