Mysql
 sql >> база данни >  >> RDS >> Mysql

За да конвертирате низ в таблица със схема

Бих го написал така, може би има достатъчен начин с Name, но трябва да работи!

Create table MIX (
`id` int not null,
`x` text not null)
ENGINE = InnoDB;
insert into mix value (1,'Andy~22~US|Jane~24~Australia|Davis~30~UK|Nancy~32~Germany');
create table unmix select
numbers.n as id,
SUBSTRING_INDEX(SUBSTRING_INDEX(x, '~', 2*numbers.n),'~', -1) as Age,
SUBSTRING_INDEX(SUBSTRING_INDEX(x, '|', 1*numbers.n),'~', -1) as Country,
substring_index(SUBSTRING_INDEX(SUBSTRING_INDEX(x,'~', 2*numbers.n),'|',-1),'~',+1) as Name
from
(select 1 n union all
 select 2 union all 
 select 3 union all select 4 ) 
 numbers INNER JOIN mix
on CHAR_LENGTH(mix.x)
 -CHAR_LENGTH(REPLACE(mix.x, ' ', ''))>=numbers.n-4;


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Проектиране на база данни - Push модел или разклоняване при запис

  2. Броят на колоните на mysql.user е грешен. Очаквано 42, намерено 44. Вероятно таблицата е повредена

  3. Вмъкване на стойности в таблица в зависимост от стойностите на друга таблица mysql

  4. Как да използвате wireshark за ясно улавяне на mysql заявка sql

  5. Как да извършим LIKE търсене с криптирани данни?