MySQL MONTH函数
时间:2019-11-20 08:52:23 来源:igfitidea点击:
简介:在本教程中,您将学习如何使用MySQL MONTH函数获取给定日期的月份。
MySQL MONTH函数简介
MONTH函数返回一个整数,该整数表示指定日期值的月份。
下面说明了MONTH函数的语法:
MONTH(date);
MONTH函数接受一个参数,该参数是DATE或DATETIME值。
返回一月到十二月的整数,范围是1到12。
如果您输入的日期为零(例如,registrator),则MONTH函数将返回0。
如果日期为NULL,则MONTH函数将返回NULL。
MySQL MONTH函数示例
以下示例显示如何获取2010年1月1日:
mysql> SELECT MONTH('2010-01-01'); +---------------------+ | MONTH('2010-01-01') | +---------------------+ | 1 | +---------------------+ 1 row in set (0.00 sec)
要获取当前月份,请使用以下语句:
mysql> SELECT MONTH(NOW()) CURRENT_MONTH; +---------------+ | CURRENT_MONTH | +---------------+ | 7 | +---------------+ 1 row in set (0.00 sec)
在此示例中,我们将NOW函数的结果(即当前日期和时间)传递给MONTH函数以获取当前月份。
如前所述,MONTH函数针对零日期返回0,如以下示例所示:
mysql> SELECT MONTH('0000-00-00'); +---------------------+ | MONTH('0000-00-00') | +---------------------+ | 0 | +---------------------+ 1 row in set (0.00 sec)
如果输入日期值为NULL,则MONTH函数将返回NULL:
mysql> SELECT MONTH(NULL); +-------------+ | MONTH(NULL) | +-------------+ | NULL | +-------------+ 1 row in set (0.00 sec)
MySQL MONTH函数的实际用法
请参阅示例数据库中的以下orders和orderdetails表:
以下语句可获取2004年每月订单的数量:
SELECT MONTH(orderDate) month, ROUND(SUM(quantityOrdered * priceEach)) subtotal FROM orders INNER JOIN orderdetails USING (orderNumber) WHERE YEAR(orderDate) = 2004 GROUP BY month;
以下是查询的输出:
让我们将语句分成更小的部分,以使其更易于理解:
INNER JOIN子句使用orderNumber列将两个表order和orderdetails连接起来。
MONTH函数应用于orderDate列以获取月份数据
SUM函数计算销售订单中每个订单项的小计
WHERE子句仅过滤订单日期为2004年的订单。
GROUP BY子句按月份对小计进行分组。
在本教程中,您学习了如何使用MySQL MONTH函数获得指定日期的月份。