MySQL 中的 QUARTER()函数
MySQL 中的QUARTER ()函数用于返回给定日期值的一年中的季度。它返回一个从 1 到 4 的数字。
句法 :
QUARTER(date)
参数:该函数只接受一个参数
- date :我们要从中提取季度的日期或日期时间。
返回:如果给定日期在 1 月至 3 月范围内,则返回 1。 2 表示四月至六月。 3 表示七月至九月,如果日期在十月至十二月的范围内,则返回 4。
示例-1:
使用 QUARTER()函数查找当前季度。
SELECT QUARTER(NOW()) AS CURRENT_QUARTER;
输出 :
CURRENT_QUARTER |
---|
4 |
示例 2 :
使用 QUARTER()函数从给定的 DateTime 中查找季度。
SELECT QUARTER('2020-04-26 08:09:22') AS QUARTER_NUMBER;
输出 :
QUARTER_NUMBER |
---|
2 |
示例 3 :
当日期为 NULL 时,使用 QUARTER()函数从给定的 DateTime 中查找季度。
SELECT QUARTER(NULL) AS QUARTER_NUMBER;
输出 :
QUARTER_NUMBER |
---|
NULL |
示例 4:
QUARTER函数还可用于查找每个季度销售的总产品。为了演示创建一个名为的表。
产品 :
CREATE TABLE Product(
Product_id INT AUTO_INCREMENT,
Product_name VARCHAR(100) NOT NULL,
Buying_price DECIMAL(13, 2) NOT NULL,
Selling_price DECIMAL(13, 2) NOT NULL,
Selling_Date Date NOT NULL,
PRIMARY KEY(Product_id)
);
现在向 Product 表插入一些数据:
INSERT INTO
Product(Product_name, Buying_price, Selling_price, Selling_Date)
VALUES
('Audi Q8', 10000000.00, 15000000.00, '2018-01-26' ),
('Volvo XC40', 2000000.00, 3000000.00, '2018-04-20' ),
('Audi A6', 4000000.00, 5000000.00, '2018-07-25' ),
('BMW X5', 5000500.00, 7006500.00, '2018-10-18' ),
('Jaguar XF', 5000000, 7507000.00, '2018-01-27' ),
('Mercedes-Benz C-Class', 4000000.00, 6000000.00, '2018-04-01' ),
('Jaguar F-PACE', 5000000.00, 7000000.00, '2018-12-26' ),
('Porsche Macan', 6500000.00, 8000000.00, '2018-04-16' ) ;
所以,我们的表看起来像:
Product_id | Product_name | Buying_price | Selling_price | Selling_Date; |
---|---|---|---|---|
1 | Audi Q8 | 10000000.00 | 15000000.00 | 2018-01-26 |
2 | Volvo XC40 | 2000000.00 | 3000000.00 | 2018-04-20 |
3 | Audi A6 | 4000000.00 | 5000000.00 | 2018-07-25 |
4 | BMW X5 | 5000500.00 | 7006500.00 | 2018-10-18 |
5 | Jaguar XF | 5000000.00 | 7507000.00 | 2019-01-27 |
6 | Mercedes-Benz C-Class | 4000000.00 | 6000000.00 | 2019-04-01 |
7 | Jaguar F-PACE | 5000000.00 | 7000000.00 | 2019-12-26 |
8 | Porsche Macan | 6500000.00 | 8000000.00 | 2020-04-16 |
现在,我们将使用MONTH()函数查找每季度销售的产品数量。
SELECT
QUARTER(Selling_Date) as quarter,
COUNT(Product_id) as PRODUCT_SOLD
FROM
Product
GROUP BY QUARTER(Selling_Date)
ORDER BY QUARTER(Selling_Date);
输出 :
QUARTER | PRODUCT_SOLD |
---|---|
1 | 2 |
2 | 3 |
3 | 1 |
4 | 2 |