CASE स्टेटमेंट और SUBSTRING() के साथ सशर्त स्ट्रिंग प्रसंस्करण
इसके लिए MySQL में SUBSTRING() फंक्शन का उपयोग करें। शर्तों के लिए MySQL CASE स्टेटमेंट का उपयोग करें। पहले टेबल बनाएं:
mysql> create table DemoTable1402 ( EmployeeName varchar(40) ); Query OK, 0 rows affected (0.62 sec)
रिकॉर्ड डालें:
mysql> insert into DemoTable1402 values('Adam Smith'); Query OK, 1 row affected (0.14 sec)
mysql> insert into DemoTable1402 values('Chris Brown'); Query OK, 1 row affected (0.11 sec)
mysql> insert into DemoTable1402 values('David Miller'); Query OK, 1 row affected (0.16 sec)
mysql> insert into DemoTable1402 values('Carol Taylor'); Query OK, 1 row affected (0.10 sec)
सभी रिकॉर्ड देखें:
mysql> select * from DemoTable1402;
आउटपुट:
+--------------+ | EmployeeName | +--------------+ | Adam Smith | | Chris Brown | | David Miller | | Carol Taylor | +--------------+ 4 rows in set (0.00 sec)
यदि स्ट्रिंग विशिष्ट लंबाई से कम है तो सबस्ट्रिंग प्रदर्शित करें अन्यथा कस्टम संदेश प्रदर्शित करने की क्वेरी:
mysql> select *, case when char_length(EmployeeName) <= 11 then substring(EmployeeName, 1, 5) else 'EmployeeName is greater than 11' end as Result from DemoTable1402;
परिणाम:
+--------------+---------------------------------+ | EmployeeName | Result | +--------------+---------------------------------+ | Adam Smith | Adam | | Chris Brown | Chris | | David Miller | EmployeeName is greater than 11 | | Carol Taylor | EmployeeName is greater than 11 | +--------------+---------------------------------+ 4 rows in set (0.04 sec)
व्याख्या: CHAR_LENGTH() स्ट्रिंग की लंबाई वर्णों में लौटाता है। CASE WHEN लंबाई <= 11 तो SUBSTRING(EmployeeName, 1, 5) (पहले 5 वर्ण) लौटाता है, अन्यथा कस्टम संदेश। "Adam Smith" (10 वर्ण) और "Chris Brown" (11 वर्ण) शर्त पूरी करते हैं; "David Miller" (12) और "Carol Taylor" (12) नहीं।