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

MySQL में FIND_IN_SET() का उपयोग करके सेल में विशिष्ट देश कोड की जांच करना

MySQL में FIND_IN_SET() के साथ CSV मान खोजना

MySQL का FIND_IN_SET() फ़ंक्शन कॉमा-पृथक स्ट्रिंग सूची में किसी स्ट्रिंग की स्थिति ढूंढता है। यह कॉमा-पृथक मान (CSV) कॉलम में मान खोजने के लिए आदर्श है।

उदाहरण: देश कोड खोजना

पहले CSV देश कोड वाली एक टेबल बनाते हैं:

mysql> CREATE TABLE DemoTable1439 (
    -> CountryId INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
    -> CountryCode VARCHAR(20)
    -> );
Query OK, 0 rows affected (0.49 sec)

mysql> INSERT INTO DemoTable1439 (CountryCode) VALUES
    -> ('1022_US,7894_UK'), ('6567_AUS,7894_UK'), ('6567_AUS');
Query OK, 3 rows affected (0.14 sec)

mysql> SELECT * FROM DemoTable1439;
+-----------+------------------+
| CountryId | CountryCode      |
+-----------+------------------+
|         1 | 1022_US,7894_UK  |
|         2 | 6567_AUS,7894_UK |
|         3 | 6567_AUS         |
+-----------+------------------+
3 rows in set (0.00 sec)

FIND_IN_SET() क्वेरी

mysql> SELECT * FROM DemoTable1439
    -> WHERE FIND_IN_SET('6567_AUS', CountryCode) > 0;

परिणाम

+-----------+------------------+
| CountryId | CountryCode      |
+-----------+------------------+
|         2 | 6567_AUS,7894_UK |
|         3 | 6567_AUS         |
+-----------+------------------+
2 rows in set (0.00 sec)

FIND_IN_SET() कैसे काम करता है

  • यदि स्ट्रिंग मिलती है तो स्थिति (1-आधारित) लौटाता है
  • यदि नहीं मिलता तो 0 लौटाता है
  • यदि कोई तर्क NULL है तो NULL लौटाता है
  • केस-संवेदनशील तुलना (डिफ़ॉल्ट कॉलेशन के आधार पर)

FIND_IN_SET() बनाम LIKE

बेहतर विकल्प: JSON या सामान्यीकृत टेबल

सिफारिश: CSV संग्रहण के बजाय, उपयोग करें:
  • JSON डेटा प्रकार (MySQL 5.7+) - JSON_CONTAINS() के साथ
  • सामान्यीकृत टेबल - अलग देश_कोड टेबल के साथ विदेशी कुंजी
  • सरणी कॉलम - PostgreSQL में उपलब्ध, MySQL में नहीं
  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 में MM/YY को YYYY-MM-DD में विशिष्ट दिन के साथ कैसे बदलें?

    STR_TO_DATE() + CONCAT() select str_to_date(concat(yourDateValue/, yourColumnName), %d/%m/%y) as anyAliasName from yourTableName; उदाहरण: दिन 24 मानकर insert into demo46(short_date) values(09/18), (12/20), (11/20); क्वेरी और परिणाम select str_to_date(concat(24/, short_date), %d/%m/%y) as Conver

  1. - MySQL संस्करण कैसे जांचें

    आइए समझते हैं कि उपयोगकर्ता वर्तमान में जो MySQL संस्करण चला रहा है, उसकी जांच कैसे करें: कंसोल पर क्वेरी दर्ज करने से पहले, यह सुनिश्चित करना महत्वपूर्ण है कि उपयोगकर्ता सर्वर से जुड़ा हुआ है। MySQL संस्करण जांचें नीचे दी गई क्वेरी सर्वर के संस्करण संख्या और वर्तमान तारीख देगी। mysql> SELECT

© कॉपीराइट https://in.wsxdn.com सर्वाधिकार सुरक्षित
पहलूFIND_IN_SET()LIKE '%val%'
सटीक मिलानहां (पूर्ण टोकन)नहीं (आंशिक मिलान)
प्रदर्शनधीमा (कोई इंडेक्स उपयोग नहीं)धीमा (कोई इंडेक्स उपयोग नहीं)
NULL संचालनNULL लौटाता हैNULL लौटाता है