什么是EXTRACT()函数
在MySQL中,EXTRACT()函数用于从日期时间值中提取部分值,例如月份、年份或小时等。这个函数可以用于DateTime、Timestamps和Year数据类型,也可以用于Date和Time数据类型。
EXTRACT()函数的语法如下:
EXTRACT(unit FROM date)
其中,unit可以是下面的值之一:
YEAR:提取日期中的年份
QUARTER:提取日期中的季度
MONTH:提取日期中的月份
DAY:提取日期中的天数
HOUR:提取日期中的小时数
MINUTE:提取日期中的分钟数
SECOND:提取日期中的秒数
下面我们来看看如何在MySQL中使用EXTRACT()函数提取存储在表中的日期。
使用EXTRACT()函数提取日期
假设我们有一个名为orders的表,包含订单信息,其中一个字段是下单日期,存储的格式为“YYYY-MM-DD”。
我们想要从这个日期中提取出年份、月份和天数,可以使用下面的代码:
SELECT
EXTRACT(YEAR FROM order_date) as year,
EXTRACT(MONTH FROM order_date) as month,
EXTRACT(DAY FROM order_date) as day
FROM orders;
上面的代码会返回每个订单的年份、月份和天数。
使用EXTRACT()函数计算年龄
EXTRACT()函数还可以用于计算年龄,例如,我们有一个名为employees的员工表,其中包含员工的出生日期,我们可以使用下面的代码来计算员工的年龄:
SELECT
CONCAT(FLOOR(DATEDIFF(CURDATE(), birth_date)/365.25), " years old") as age
FROM employees;
上面的代码使用了DATEDIFF()函数计算出当前日期和出生日期之间的天数,然后将这个数字除以365.25得到年数。最后使用CONCAT()函数将计算出的年龄值与“ years old”这个字符串拼接在一起。
小结
使用EXTRACT()函数可以方便地从日期时间值中提取部分值,例如年份、月份或小时等。此外,它还可以用于计算年龄等其他情况。在使用EXTRACT()函数时,需要注意选择正确的单位。