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

MySQL में अलग-अलग लंबाई के अल्फ़ान्यूमेरिक कॉलम को कैसे सॉर्ट करें

SUBSTRING_INDEX और संख्यात्मक कास्टिंग के साथ अल्फ़ान्यूमेरिक सॉर्टिंग

पहले टेबल बनाएं:

mysql> create table DemoTable1623 ( StudentCode varchar(20) ); Query OK, 0 rows affected (0.47 sec)

रिकॉर्ड डालें:

mysql> insert into DemoTable1623 values('STU-MIT-143'); Query OK, 1 row affected (0.19 sec)
mysql> insert into DemoTable1623 values('STU-MIT-10'); Query OK, 1 row affected (0.14 sec)
mysql> insert into DemoTable1623 values('STU-MIT-150'); Query OK, 1 row affected (0.21 sec)
mysql> insert into DemoTable1623 values('STU-MIT-148'); Query OK, 1 row affected (0.22 sec)

सभी रिकॉर्ड देखें:

mysql> select * from DemoTable1623;

आउटपुट:

+-------------+ | StudentCode | +-------------+ | STU-MIT-143 | | STU-MIT-10  | | STU-MIT-150 | | STU-MIT-148 | +-------------+ 4 rows in set (0.00 sec)

अलग-अलग लंबाई के अल्फ़ान्यूमेरिक कॉलम को सॉर्ट करने की क्वेरी:

mysql> select * from DemoTable1623 order by substring_index(StudentCode, '-', 1), substring_index(StudentCode, '-', -1) + 0;

परिणाम:

+-------------+ | StudentCode | +-------------+ | STU-MIT-10  | | STU-MIT-143 | | STU-MIT-148 | | STU-MIT-150 | +-------------+ 4 rows in set (0.00 sec)

व्याख्या: SUBSTRING_INDEX(StudentCode, '-', 1) पहला भाग ("STU") निकालता है। SUBSTRING_INDEX(StudentCode, '-', -1) अंतिम भाग (संख्या) निकालता है। "+ 0" स्ट्रिंग को संख्या में बदल देता है ताकि संख्यात्मक क्रम (10, 143, 148, 150) में सॉर्ट हो, न कि लेक्सिकोग्राफिक (10, 143, 148, 150 के बजाय 10, 143, 148, 150) में।

  1. Java में MySQL ResultSet से कॉलम नाम कैसे प्राप्त करें? Java में MySQL ResultSet से कॉलम नाम कैसे प्राप्त करें?

    ResultSetMetaData.getMetaData() का उपयोग करें JDBC में ResultSet से कॉलम नाम प्राप्त करने के लिए getMetaData() मेथड को कॉल करें जो ResultSetMetaData ऑब्जेक्ट लौटाता है। प्रोटोटाइप ResultSetMetaData getMetaData() throws SQLException; मुख्य मेथड्स getColumnCount() — कॉलम की संख्या। getColumnLabel(

  1. MySQL में विशिष्ट कॉलम नाम वाली टेबल कैसे खोजें MySQL में विशिष्ट कॉलम नाम वाली टेबल कैसे खोजें

    information_schema.columns टेबल को क्वेरी करके डेटाबेस में विशिष्ट कॉलम नाम वाली सभी टेबल खोजें। सिंटैक्स SELECT DISTINCT table_name FROM information_schema.columns WHERE column_name LIKE %yourSearchValue% AND table_schema = DATABASE(); उदाहरण: Client वाली कॉलम खोजना SELECT DISTINCT table_name FR

  1. - MySQL में SUBSTRING_INDEX() का उपयोग करके कॉलम कैसे विभाजित करें?

    MySQL में SUBSTRING_INDEX() और LOCATE() फ़ंक्शन का उपयोग करके डिलिमिटर (जैसे अंडरस्कोर) के आधार पर कॉलम को भागों में विभाजित किया जा सकता है। सिंटैक्स 0: बाएं से count भाग -- count < 0: दाएं से |count| भाग उदाहरण: पहला भाग प्राप्त करें (पहले _ से पहले) mysql> CREATE TABLE DemoTable (Name VARCH