Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Temukan posisi string dan gabung dengan baris tabel lain

Membagi string menjadi kolom:

select date,
       substring_index(cost, '-', 1) type_a,
       case when cost regexp '.*-' then
                 substring_index(substring_index(cost, '-', 2), '-', -1)
            else ''
       end type_b,
       case when cost regexp '.*-.*-' then
            substring_index(substring_index(cost, '-', 3), '-', -1)
            else ''
       end type_c,
       case when cost regexp '.*-.*-.*-' then
            substring_index(substring_index(cost, '-', 4), '-', -1)
            else ''
       end type_d,
       case when cost regexp '.*-.*-.*-.*-' then
            substring_index(substring_index(cost, '-', 5), '-', -1)
            else ''
       end type_e
from rate_cost;

Jika Anda dapat memodifikasi desain tabel, lebih baik membuat beberapa kolom:

create table rate_cost (
    id int,
    rate int,
    hotel int,
    cost_type_a int,
    cost_type_b int,
    cost_type_c int,
    cost_type_d int,
    cost_type_e int,
    date date);



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Tampilkan sisa baris dengan nol atau 0 di tempat untuk kolom yang tidak ditemukan

  2. Mengganti nama kolom dalam pernyataan pilih MySQL dengan paket R RJDBC

  3. Fungsi MySQL CRC32() – Contoh

  4. Kesalahan penyisipan MySQL:ER_BAD_FIELD_ERROR:Kolom tidak dikenal '2525' di 'daftar bidang'

  5. Bagaimana cara menggunakan MySQL Found_Rows() di PHP?