Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Để chuyển một chuỗi thành bảng với lược đồ

Tôi viết nó như thế này có lẽ có đủ cách với Tên, nhưng nó phải hoạt động!

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. Lớp cơ sở dữ liệu PHP hữu ích

  2. Làm việc với một tệp CSV lớn trong MATLAB

  3. Lỗi ném PDO nếu MYSQL_ATTR_INIT_COMMAND được sử dụng

  4. PDO bindParam không cho phép câu lệnh trả về kết quả

  5. Không tìm thấy bảng cơ sở di chuyển Laravel 4