ฟังก์ชัน YEAR() ใช้เพื่อดึง “ปี” (4 หลัก) จากค่าประเภท DATE, DATETIME, หรือ TIMESTAMP ที่กำหนด คืนค่าเป็นจำนวนเต็ม (INT) เช่น 2025 เหมาะสำหรับการกรองข้อมูลรายปี, จัดกลุ่มข้อมูลตามปี, หรือรายงานรายปี
ประโยชน์ของฟังก์ชัน YEAR()
- ใช้กรองข้อมูลตามปี เช่น แสดงเฉพาะข้อมูลในปี 2024
- ใช้จัดกลุ่มข้อมูล เพื่อสร้างรายงานรายปี
- ใช้ร่วมกับฟังก์ชันอื่น เช่น
MONTH(),DATE_FORMAT(),WEEK()
รูปแบบการใช้งาน
YEAR(date_value)
date_valueคือค่าวันที่ เช่น'2025-04-10',NOW(),created_atฯลฯ
ตัวอย่างการใช้งาน
ดึงปีจากวันที่ระบุ
SQL
SELECT YEAR('2025-04-10') AS year_value;
-- ผลลัพธ์: 2025ดึงปีจากวันเวลาปัจจุบัน
SQL
SELECT YEAR(NOW()) AS current_year;ดึงปีจากฟิลด์ในตาราง
SQL
SELECT order_id, order_date,
YEAR(order_date) AS order_year
FROM orders;ตัวอย่างการประยุกต์ใช้งาน
สรุปยอดขายรายปีจากตาราง orders
| order_id | customer_name | order_date | total_amount |
|---|---|---|---|
| 1 | Somchai | 2023-12-25 14:30:00 | 1500.00 |
| 2 | Alice | 2024-01-05 10:00:00 | 2450.00 |
| 3 | John | 2024-07-20 17:45:00 | 3200.00 |
| 4 | Sara | 2025-02-11 09:15:00 | 1800.00 |
| 5 | Bob | 2025-03-03 12:00:00 | 2700.00 |
SQL
SELECT YEAR(order_date) AS sales_year,
SUM(total_amount) AS total_sales
FROM orders
GROUP BY sales_year
ORDER BY sales_year;กรองข้อมูลเฉพาะปี 2024 จากตาราง invoices
| invoice_id | customer_name | invoice_date | amount |
|---|---|---|---|
| 101 | Somchai | 2023-12-30 10:15:00 | 1200.00 |
| 102 | Alice | 2024-01-03 09:00:00 | 2000.00 |
| 103 | John | 2024-06-15 14:45:00 | 3250.00 |
| 104 | Jane | 2025-02-20 11:30:00 | 1850.00 |
| 105 | Bob | 2025-03-10 16:00:00 | 2100.00 |
SQL
SELECT *
FROM invoices
WHERE YEAR(invoice_date) = 2024;