MySQL Day 函数是日期函数之一,它能返回月份中的天数,范围从 0 到 31。或者,此函数可以从给定的日期或日期时间表达式中返回天数。
让我们通过一个例子来看看如何使用此函数获取表达式中的天数。Day 函数的基本语法如下所示。
DAY(date or expression);
MySQL Day 函数示例
下面显示的查询可以帮助您理解此 Day 函数的基本用法。在这里,我们从日期表达式和日期时间表达式中返回月份的天数。
提示:当参数为 0000-00-00 或 2019-00-00 时,此 日期方法 返回 0。
SELECT DAY('2016-11-25');
SELECT DAY('2018-10-25 01:14:22');
25
25
让我们来看另一个此方法的例子。在这里,我们从 Now() 函数返回的当前日期和时间以及 CURDATE() 返回的日期和时间中提取天数。
SELECT DAY(NOW()), DAY(CURDATE());

MySQL Day 函数示例 2
下面的 查询 向您展示了当我们尝试从字符串格式的日期中提取天数时会发生什么。
SELECT DAY(NOW() + 0);
SELECT DAY(NOW() + 0), DAY(CURDATE() + 12);
SELECT DAY(NOW() + 14);

从上面的屏幕截图可以看出,(CURDATE() + 12) 返回 NULL。因为 Curdare() + 12 返回 20190231。这是一个错误的日期。在这里,我们试图从零日期部分提取天数。这就是为什么它返回 NULL。
SELECT DAY('2019-00-00'), DAY('0');

Day 示例 3
在此示例中,我们将演示如何在表上使用此 Day 函数。在这里,我们正在从 Hire Date 列中查找或返回天数。为了演示,我们将使用 Workbench 对客户数据库编写查询。
SELECT EmpID,
FirstName,
LastName,
Occupation,
YearlyIncome,
Sales,
HireDate,
DAY(HireDate)
FROM customer;
