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. Sailsjs Mysql ORM множествена заявка към едно и също поле на таблица

  2. Разширен архив на новини Години/Месец с помощта на PHP MySql

  3. Работа със специални символи на пълен текст на MySQL

  4. MYSQL с помощта на пространствен индекс

  5. SQL / PHP:вземете всички резултати в рамките на време от X до Y и открийте дали има налични времена между тях