MySQL में CAST() से स्ट्रिंग को संख्या के रूप में क्रमबद्ध करें
स्ट्रिंग को संख्या के रूप में क्रमबद्ध करने के लिए, CAST() का उपयोग करें। सिंटैक्स:
select *from yourTableName ORDER BY CAST(yourColumnName AS SIGNED) DESC;
आइए पहले एक टेबल बनाते हैं:
mysql> create table DemoTable
(
Id varchar(100)
); Query OK, 0 rows affected (0.18 sec)
इन्सर्ट कमांड से टेबल में कुछ रिकॉर्ड डालें:
mysql> insert into DemoTable values('3'); Query OK, 1 row affected (0.07 sec)
mysql> insert into DemoTable values('20'); Query OK, 1 row affected (0.07 sec)
mysql> insert into DemoTable values('34'); Query OK, 1 row affected (0.06 sec)
mysql> insert into DemoTable values('21'); Query OK, 1 row affected (0.06 sec)
mysql> insert into DemoTable values('78'); Query OK, 1 row affected (0.04 sec)
mysql> insert into DemoTable values('90'); Query OK, 1 row affected (0.07 sec)
सेलेक्ट स्टेटमेंट से टेबल के सभी रिकॉर्ड प्रदर्शित करें:
mysql> select *from DemoTable;
आउटपुट:
+------+ | Id | +------+ | 3 | | 20 | | 34 | | 21 | | 78 | | 90 | +------+ 6 rows in set (0.00 sec)
पूर्णांक संख्याओं को क्रमबद्ध करने का क्वेरी:
mysql> select *from DemoTable ORDER BY CAST(Id AS SIGNED) DESC;
आउटपुट:
+------+ | Id | +------+ | 90 | | 78 | | 34 | | 21 | | 20 | | 3 | +------+ 6 rows in set (0.02 sec)
व्याख्या: VARCHAR कॉलम लेक्सिकोग्राफिकली क्रमबद्ध होता है ('3' > '20')। CAST(Id AS SIGNED) स्ट्रिंग को पूर्णांक में बदलता है, जिससे संख्यात्मक क्रमबद्धीकरण सक्षम होता है। UNSIGNED केवल धनात्मक संख्याओं के लिए उपयोग करें।