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

MySQL में NULL मानों को अनदेखा करके रिकॉर्ड प्रदर्शित और संयोजित (Concatenate) करें

रिकॉर्ड संयोजित करने के लिए CONCAT() और NULL मानों की जांच के लिए IFNULL() का उपयोग करें।

आइए पहले एक टेबल बनाते हैं:

mysql> create table DemoTable802 ( FirstName varchar(100), LastName varchar(100) ); 
Query OK, 0 rows affected (1.01 sec)

इन्सर्ट कमांड का उपयोग करके टेबल में कुछ रिकॉर्ड डालें:

mysql> insert into DemoTable802 values('Adam','Smith'); 
Query OK, 1 row affected (0.23 sec)
mysql> insert into DemoTable802 values('Carol',NULL); 
Query OK, 1 row affected (0.15 sec)
mysql> insert into DemoTable802 values(NULL,'Taylor'); 
Query OK, 1 row affected (0.09 sec)
mysql> insert into DemoTable802 values(NULL,NULL); 
Query OK, 1 row affected (0.21 sec)

सेलेक्ट स्टेटमेंट का उपयोग करके टेबल से सभी रिकॉर्ड प्रदर्शित करें:

mysql> select * from DemoTable802;

यह निम्नलिखिक आउटपुट देगा:

+-----------+----------+
| FirstName | LastName |
+-----------+----------+
| Adam      | Smith    |
| Carol     | NULL     |
| NULL      | Taylor   |
| NULL      | NULL     |
+-----------+----------+
4 rows in set (0.00 sec)

NULL मानों को अनदेखा करके रिकॉर्ड संयोजित करने की क्वेरी

mysql> select concat(IFNULL(FirstName,''), ' ', IFNULL(LastName,'')) AS FULL_NAME from DemoTable802;

यह निम्नलिखिक आउटपुट देगा:

+------------+
| FULL_NAME  |
+------------+
| Adam Smith |
| Carol      |
| Taylor     |
|            |
+------------+
4 rows in set (0.00 sec)

व्याख्या

  • IFNULL(col, '') NULL को खाली स्ट्रिंग में बदलता है
  • CONCAT() स्ट्रिंग्स को जोड़ता है; यदि कोई तर्क NULL है तो परिणाम NULL होता है
  • इसलिए IFNULL आवश्यक है ताकि NULL पूरे परिणाम को NULL न बना दे
  • पंक्ति 2: 'Carol' + ' ' + '' = 'Carol '
  • पंक्ति 3: '' + ' ' + 'Taylor' = ' Taylor'
  • पंक्ति 4: '' + ' ' + '' = ' '

बेहतर: COALESCE या CONCAT_WS

SELECT CONCAT_WS(' ', FirstName, LastName) AS FULL_NAME FROM DemoTable802;

CONCAT_WS (With Separator) स्वचालित रूप से NULL को छोड़ देता है और विभाजक नहीं जोड़ता।

  1. - MySQL में कॉलम मानों को अलग टेक्स्ट के साथ जोड़ें और एकल कॉलम में प्रदर्शित करें

    आइए पहले एक टेबल बनाते हैं: mysql> create table DemoTable -> ( -> Id int, -> Name varchar(20) -> ); Query OK, 0 rows affected (0.93 sec) इन्सर्ट कमांड का उपयोग करके टेबल में कुछ रिकॉर्ड डालें: mysql> insert into DemoTable values(101,Chris); Query OK, 1 row affected (0.25 sec) mysq

  1. - MySQL में NULL और NOT NULL रिकॉर्ड वाले कॉलम से केवल NOT NULL मान प्रदर्शित करें

    इसके लिए आप IS NOT NULL प्रॉपर्टी का उपयोग कर सकते हैं। आइए पहले एक टेबल बनाते हैं: mysql> create table DemoTable1 ( DueDate date ); Query OK, 0 rows affected (0.00 sec) इन्सर्ट कमांड का उपयोग करके टेबल में कुछ रिकॉर्ड डालें: mysql> insert into DemoTable1 values(2019-09-10); Query OK, 1 r

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

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