📜  MySQL 中的 QUARTER()函数

📅  最后修改于: 2022-05-13 01:55:35.184000             🧑  作者: Mango

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_idProduct_nameBuying_priceSelling_priceSelling_Date;
1Audi Q810000000.00 15000000.00 2018-01-26
2Volvo XC402000000.00 3000000.00 2018-04-20
3 Audi A6 4000000.00 5000000.00 2018-07-25
4BMW X55000500.00 7006500.00 2018-10-18 
5Jaguar XF 5000000.00 7507000.002019-01-27
6Mercedes-Benz C-Class4000000.00 6000000.00 2019-04-01
7Jaguar F-PACE 5000000.00 7000000.002019-12-26
8Porsche 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);

输出 :

QUARTERPRODUCT_SOLD
12
23
31
42