Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

MySQL जंबल्ड टेक्स्ट के एक कॉलम के भीतर उद्धरण चिह्नों में शब्दों का चयन

आप जो चाहते हैं उसका प्रतिनिधित्व करने के लिए आपको एक बेहतर तरीका खोजना चाहिए, लेकिन मुझे लगता है कि निम्नलिखित करीब आता है:

select concat_wc(',', substring_index(substring_index(entry_value, '"', 2), '"' -1),
                 substring_index(substring_index(entry_value, '"', 4), '"' -1),
                 . . .
                )

आपको स्ट्रिंग में मानों की संख्या में मानों की संख्या के आधार पर एक स्टॉप कंडीशन रखनी पड़ सकती है, जिसके परिणामस्वरूप कुछ ऐसा हो सकता है:

select concat_ws(',',
                 case when num_entry_values >= 1 then substring_index(substring_index(entry_value, '"', 2), '"' -1) end,
                 case when num_entry_values >= 2 then substring_index(substring_index(entry_value, '"', 4), '"' -1) end,
              . . .
             )

यदि आपके पास यह संख्या नहीं है, तो आप स्ट्रिंग में दोहरे उद्धरण चिह्नों की संख्या की गणना करके इसकी गणना कर सकते हैं।

संपादित करें:

प्रविष्टियों की संख्या गिनने के लिए, " . की गणना करें :

from (select aev.*,
             (length(entry_value) = length(replace(entry_value, '"', '')) ) / 2 as num_entry_values
      from ch_arf_entry_values aev
     ) aev



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Percona 5.6 Docker छवि मेरे /etc/mysql/conf.d/*.cnf . को लोड नहीं कर सकती

  2. रिमोट सर्वर mysql डेटाबेस को लोकलहोस्ट से कनेक्ट करना

  3. MySQL INSERT ... जावा पर डुप्लीकेट कुंजी अद्यतन पर:सम्मिलित/अपडेट/NoChange राज्यों में अंतर कैसे करें

  4. UPDATE LOW_PRIORITY और INSERT DELAYED INTO के क्या लाभ हैं?

  5. कई तालिकाओं में शर्तों के आधार पर जुड़ता है