Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> MySQL

MySQL में IF() से NULL मानों के आधार पर कस्टम टेक्स्ट कैसे दिखाएं?

MySQL में किसी कॉलम के NULL मानों के आधार पर कस्टम टेक्स्ट प्रदर्शित करने के लिए IF() फंक्शन (या CASE) का उपयोग करें। यह रिपोर्टिंग, UI डिस्प्ले, और डेटा एक्सपोर्ट में "Not Found" जैसे संदेश दिखाने के लिए उपयोगी है।

उदाहरण: StudentName NULL होने पर कस्टम संदेश

डेमो टेबल बनाएं:

mysql> CREATE TABLE DemoTable1953 (StudentName VARCHAR(20));

डेटा इन्सर्ट करें:

mysql> INSERT INTO DemoTable1953 VALUES
('Chris'), (NULL), ('David'), (NULL);

IF() के साथ क्वेरी:

mysql> SELECT StudentName,
       IF(StudentName IS NULL, 'Student Name Is Not Found', 'Student Name Found') AS Name
FROM DemoTable1953;

आउटपुट:

+-------------+---------------------------+
| StudentName | Name                      |
+-------------+---------------------------+
| Chris       | Student Name Found        |
| NULL        | Student Name Is Not Found |
| David       | Student Name Found        |
| NULL        | Student Name Is Not Found |
+-------------+---------------------------+

IF() सिंटैक्स

IF(condition, value_if_true, value_if_false)
  • condition: कोई भी बूलियन एक्सप्रेशन
  • value_if_true: शर्त सत्य होने पर मान
  • value_if_false: शर्त असत्य होने पर मान

IF vs CASE vs COALESCE

फंक्शनउपयोगशर्तें
IF()सरल द्विआधारी शर्त1 शर्त
CASEएकाधिक शर्तेंअसीमित WHEN
COALESCE()पहला नॉन-NULLमान सूची
IFNULL()NULL को डिफ़ॉल्ट से बदलें2 आर्गुमेंट

CASE संस्करण (अधिक पठनीय जटिल लॉजिक के लिए)

SELECT StudentName,
       CASE
           WHEN StudentName IS NULL THEN 'Student Name Is Not Found'
           WHEN StudentName = '' THEN 'Name Is Empty'
           ELSE 'Student Name Found'
       END AS Name
FROM DemoTable1953;

व्यावहारिक उपयोग मामले

1. डैशबोर्ड स्थिति

SELECT order_id,
       IF(shipped_date IS NULL, 'Pending', 'Shipped') AS status
FROM orders;

2. संपर्क जानकारी फॉलबैक

SELECT COALESCE(phone, email, 'No contact') AS contact
FROM customers;

3. गणना में NULL सुरक्षा

SELECT price * IF(discount IS NULL, 0, discount) AS discounted_price
FROM products;

सावधानी: खाली स्ट्रिंग vs NULL

IF(name IS NULL, ...)     -- केवल NULL पकड़ता है
IF(name = '', ...)        -- केवल खाली स्ट्रिंग पकड़ता है
IF(name IS NULL OR name = '', ...)  -- दोनों पकड़ता है
IF(TRIM(name) = '', ...)  -- स्पेस-ओनली भी पकड़ता है

IF() MySQL-विशिष्ट है; पोर्टेबल कोड के लिए CASE (ANSI SQL) प्राथमिकता दें।

  1. - MySQL में सभी कॉलम मानों को कॉमा से अलग करके एक ही पंक्ति में प्रदर्शित करें?

    इसके लिए GROUP_CONCAT() और CONCAT() का उपयोग करें। आइए पहले एक टेबल बनाते हैं: mysql> create table DemoTable1807 ( Id int ); Query OK, 0 rows affected (0.00 sec) इन्सर्ट कमांड का उपयोग करके टेबल में कुछ रिकॉर्ड डालें: mysql> insert into DemoTable1807 values(101); Query OK, 1 row affected

  1. - MySQL में CASE स्टेटमेंट से छात्र अंकों पर कस्टम संदेश कैसे सेट करें?

    MySQL में CASE स्टेटमेंट का उपयोग करके छात्रों के अंकों (Marks) के आधार पर कस्टम परिणाम संदेश (जैसे Good Marks, Not Good Marks) उत्पन्न करें। यह ग्रेडिंग, रिपोर्टिंग, और सशर्त डेटा लेबलिंग के लिए मानक दृष्टिकोण है। उदाहरण: 40 अंक थ्रेशोल्ड पर संदेश डेमो टेबल बनाएं: mysql> CREATE TABLE DemoTabl

  1. - MySQL में IFNULL का उपयोग करके NULL मानों को 1 के रूप में प्रदर्शित/अपडेट करें

    MySQL में NULL मानों को संभालना: IFNULL() और COALESCE() MySQL में IFNULL() फ़ंक्शन का उपयोग करके आप NULL मानों को डिफ़ॉल्ट मान से बदल सकते हैं। यह लेख दिखाता है कि कैसे NULL मानों को 1 से अपडेट करें और उन्हें प्रदर्शित करें। टेबल बनाना ); Query OK, 0 rows affected (0.00 sec) NULL मानों सहित डेटा