ฟังก์ชัน ISNULL ใช้เพื่อแทนค่าที่เป็น NULL ด้วยค่าที่ระบุไว้ ฟังก์ชันนี้มีโครงสร้างดังนี้
ISNULL(expression, replacement_value)
โดย expression คือค่าหรือคอลัมน์ที่ต้องการตรวจสอบ และ replacement_value คือค่าที่จะแทนที่เมื่อ expression มีค่าเป็น NULL
สร้างตารางและแทรกข้อมูลตัวอย่าง
สร้างตารางและแทรกข้อมูลตัวอย่างลงในตารางโดยใช้คำสั่งดังนี้ (ในตัวอย่างใช้ MS SQL Server)
CREATE TABLE Employees (
EmployeeID INT PRIMARY KEY,
FirstName NVARCHAR(50),
LastName NVARCHAR(50),
Salary DECIMAL(10, 2)
);
-- แทรกข้อมูลตัวอย่างเข้าไปในตาราง
INSERT INTO Employees (EmployeeID, FirstName, LastName, Salary) VALUES
(1, 'John', 'Doe', 50000),
(2, 'Jane', 'Smith', NULL),
(3, 'Alice', 'Johnson', 70000),
(4, 'Bob', 'Williams', NULL);จะได้ข้อมูลตัวอย่างดังนี้

การใช้งานฟังก์ชัน ISNULL
สมมุติว่าเราต้องการให้เงินเดือนพนักงานที่มีค่า NULL ถูกแทนด้วยค่าเริ่มต้น เช่น 30000 เราสามารถใช้ ISNULL ได้ดังนี้
SELECT
EmployeeID,
FirstName,
LastName,
ISNULL(Salary, 30000) AS Salary
FROM Employees;ผลลัพธ์

การใช้ฟังก์ชัน ISNULL กับการคำนวณ
เราสามารถใช้ ISNULL ในการคำนวณร่วมกับคอลัมน์อื่นได้ เช่น เราต้องการคำนวณโบนัส 10% ของเงินเดือนสำหรับพนักงานทุกคน และถ้าเงินเดือนเป็น NULL ให้แทนค่าด้วย 0 ก่อนคำนวณ โดยทำได้ดังนี้
SELECT
EmployeeID,
FirstName,
LastName,
ISNULL(Salary, 0) AS Salary,
ISNULL(Salary, 0) * 0.10 AS Bonus
FROM Employees;ผลลัพธ์

การใช้งาน ISNULL ในการจัดการการแสดงผล
อีกตัวอย่างหนึ่งคือการใช้ ISNULL เพื่อแสดงข้อความในกรณีที่คอลัมน์มีค่า NULL เช่น เราต้องการแสดงข้อความ “No Salary” สำหรับพนักงานที่ไม่มีข้อมูลเงินเดือน
SELECT
EmployeeID,
FirstName,
LastName,
ISNULL(CAST(Salary AS NVARCHAR), 'No Salary') AS Salary
FROM Employees;ผลลัพธ์ คอลัมน์ Salary ของพนักงานที่ไม่มีเงินเดือน จะถูกแทนที่ด้วยคำว่า No Salary

