【问题标题】:How can I use CreateFunction to calculate age based on their birthday on mySQL?如何使用 CreateFunction 根据他们在 mySQL 上的生日计算年龄?
【发布时间】:2021-08-02 21:05:12
【问题描述】:

我有一张包含出生日期的表格,我想使用 CreateFunction 来计算他们的年龄。

所以我在考虑从当前日期提取年份 - 他们的出生日期年份(使用 YEAR() 函数,如下所示)

下面的功能似乎不起作用,所以任何帮助都将不胜感激!

DELIMITER $$
 
CREATE FUNCTION customer_age(DateOfBirth DATE)
RETURNS DATE
BEGIN
    DECLARE age DATE
    
    SET age = YEAR(curdate())- YEAR(DateOfBirth);
    
    RETURN (age);
    
    END $$
    
DELIMITER;

【问题讨论】:

    标签: mysql create-function


    【解决方案1】:

    你得到一个整数而不是日期,

    查看示例

    CREATE FUNCTION customer_age(DateOfBirth DATE)
    RETURNS INT DETERMINISTIC
    BEGIN
        DECLARE age INT;
        SET age = YEAR(curdate())- YEAR(DateOfBirth);
        
        RETURN age;
        
        END
    
    SELECT customer_age('1970-01-01')
    
    | customer_age('1970-01-01') | | -------------------------: | | 51 |

    db小提琴here

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2023-03-14
      • 2013-10-31
      • 1970-01-01
      • 1970-01-01
      • 2014-04-04
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多