SQL การใช้งานฟังก์ชัน IFNULL

ฟังก์ชัน IFNULL ใน SQL ใช้เพื่อตรวจสอบค่าว่าเป็น NULL หรือไม่ หากค่าเป็น NULL จะคืนค่าที่กำหนดไว้แทน NULL หากค่าไม่เป็น NULL จะคืนค่านั้นออกมาเหมือนเดิม ซึ่งฟังก์ชันนี้จะช่วยในการจัดการข้อมูลที่อาจมีช่องว่างหรือค่าว่างในฐานข้อมูล

โครงสร้างของฟังก์ชัน IFNULL

IFNULL(expression, value_if_null)
  • expression คือค่าที่เราต้องการตรวจสอบ
  • value_if_null คือค่าที่จะถูกคืนกลับหากค่า expression เป็น NULL

การใช้งานฟังก์ชัน IFNULL

สร้างตาราง employees เพื่อใช้เป็นตัวอย่าง โดยใช้โค้ดดังต่อไปนี้

SQL
-- สร้างตาราง employees
CREATE TABLE employees (
    employee_id INT PRIMARY KEY,
    first_name VARCHAR(50),
    last_name VARCHAR(50),
    salary DECIMAL(10, 2)
);

-- แทรกข้อมูลตัวอย่าง
INSERT INTO employees (employee_id, first_name, last_name, salary) VALUES
(1, 'John', 'Doe', 50000),
(2, 'Jane', 'Smith', NULL),
(3, 'Mike', 'Brown', 45000),
(4, 'Emily', 'Johnson', NULL),
(5, 'James', 'White', 60000);

จะได้ข้อมูลตัวอย่างดังนี้

การใช้ IFNULL เพื่อแทนค่าที่เป็น NULL ด้วยค่าที่ต้องการ

ในตัวอย่างนี้ เราจะใช้ IFNULL เพื่อแทนค่า NULL ในคอลัมน์ salary ด้วยข้อความ "No Salary" เพื่อแสดงให้เห็นว่าบางคนไม่มีการระบุเงินเดือน

SQL
SELECT 
    employee_id, 
    first_name, 
    last_name, 
    IFNULL(salary, 'No Salary') AS salary 
FROM employees;

ผลลัพธ์: พนักงานที่ไม่มีการระบุเงินเดือนจะถูกแทนที่ด้วยคำว่า No Salary

การใช้ IFNULL ร่วมกับการคำนวณ

เราสามารถใช้ IFNULL ร่วมกับการคำนวณได้ ตัวอย่างเช่น หากต้องการแทนค่า NULL ใน salary ด้วยค่าเริ่มต้น เช่น 30000 บาท และคำนวณเงินเดือนรวมเพิ่มขึ้น 10%

SQL
SELECT 
    employee_id, 
    first_name, 
    last_name, 
    IFNULL(salary, 30000) * 1.1 AS salary_with_bonus 
FROM employees;

ผลลัพธ์ พนักงานทุกคนที่มีเงินเดือนอยู่แล้วจะได้รับเงินเดือนเพิ่มคนละ 10% ส่วนพนักงานที่ไม่มีเงินเดือนจะได้รับการปรับเงินเดือนโดยคิดจากฐาน 30,000 และบวกไปอีก 10% ของ 30,000

แชร์เรื่องนี้