CASE एक्सप्रेशन में OR शर्त का उपयोग करके एकाधिक मानों के लिए समान परिणाम दे सकते हैं।
सिंटैक्स:
SELECT col1,
CASE WHEN col2 = 0 OR col2 IS NULL THEN 'Message1' ELSE 'Message2' END AS alias
FROM yourTable;
एक टेबल बनाते हैं:
CREATE TABLE ReservationSystems (
Id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
Name VARCHAR(20),
isSeatConfirmed TINYINT
);
रिकॉर्ड डालें:
INSERT INTO ReservationSystems (Name, isSeatConfirmed) VALUES ('Larry', 0);
INSERT INTO ReservationSystems (Name, isSeatConfirmed) VALUES ('Bob', 1);
INSERT INTO ReservationSystems (Name, isSeatConfirmed) VALUES ('Mike', NULL);
INSERT INTO ReservationSystems (Name, isSeatConfirmed) VALUES ('David', 1);
INSERT INTO ReservationSystems (Name, isSeatConfirmed) VALUES ('Carol', 0);
INSERT INTO ReservationSystems (Name, isSeatConfirmed) VALUES ('James', 1);
सभी रिकॉर्ड देखें:
SELECT * FROM ReservationSystems;
आउटपुट
+----+-------+-----------------+ | Id | Name | isSeatConfirmed | +----+-------+-----------------+ | 1 | Larry | 0 | | 2 | Bob | 1 | | 3 | Mike | NULL | | 4 | David | 1 | | 5 | Carol | 0 | | 6 | James | 1 | +----+-------+-----------------+
CASE के साथ OR शर्त:
SELECT Name,
CASE WHEN isSeatConfirmed = 0 OR isSeatConfirmed IS NULL
THEN 'YOUR SEAT IS NOT CONFIRMED'
ELSE 'YOUR SEAT IS CONFIRMED'
END AS SEATCONFIRMSTATUS
FROM ReservationSystems;
आउटपुट
+-------+----------------------------+ | Name | SEATCONFIRMSTATUS | +-------+----------------------------+ | Larry | YOUR SEAT IS NOT CONFIRMED | | Bob | YOUR SEAT IS CONFIRMED | | Mike | YOUR SEAT IS NOT CONFIRMED | | David | YOUR SEAT IS CONFIRMED | | Carol | YOUR SEAT IS NOT CONFIRMED | | James | YOUR SEAT IS CONFIRMED | +-------+----------------------------+
नोट: NULL की तुलना = से नहीं की जा सकती, इसलिए IS NULL आवश्यक है।