CASE WHEN स्टेटमेंट का उपयोग करके दो मानों की अदला-बदली
कॉलम में दो मानों की अदला-बदली के लिए CASE WHEN का उपयोग करें। पहले टेबल बनाएं:
mysql> create table DemoTable1382 ( StudentName varchar(20) ); Query OK, 0 rows affected (0.57 sec)
रिकॉर्ड डालें:
mysql> insert into DemoTable1382 values('John'); Query OK, 1 row affected (0.17 sec)
mysql> insert into DemoTable1382 values('Chris'); Query OK, 1 row affected (0.11 sec)
mysql> insert into DemoTable1382 values('Adam'); Query OK, 1 row affected (0.11 sec)
mysql> insert into DemoTable1382 values('Bob'); Query OK, 1 row affected (0.17 sec)
सभी रिकॉर्ड देखें:
mysql> select * from DemoTable1382;
आउटपुट:
+-------------+ | StudentName | +-------------+ | John | | Chris | | Adam | | Bob | +-------------+ 4 rows in set (0.00 sec)
दो कॉलम मानों की अदला-बदली करके अपडेट करने की क्वेरी:
mysql> update DemoTable1382 set StudentName=( case when StudentName="Chris" then "John" when StudentName="John" then "Chris" else StudentName end ); Query OK, 2 rows affected (0.19 sec) Rows matched: 4 Changed: 2 Warnings: 0
फिर से रिकॉर्ड जांचें:
mysql> select * from DemoTable1382;
आउटपुट:
+-------------+ | StudentName | +-------------+ | Chris | | John | | Adam | | Bob | +-------------+ 4 rows in set (0.00 sec)
व्याख्या: CASE WHEN बयान शर्तों का मूल्यांकन करता है: यदि मान "Chris" है तो "John" सेट करें, यदि "John" है तो "Chris" सेट करें, अन्यथा मूल मान रखें। यह एक ही UPDATE में दो मानों की सुरक्षित अदला-बदली करता है।