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

Bagaimana cara membagi string catatan yang dipisahkan koma dan mengaturnya secara berurutan di MySQL?

Anda dapat menggunakan MySQL SUBSTRING_INDEX(). Ini akan mengembalikan sub-string dari string yang dipisahkan koma yang diberikan sebelum sejumlah kemunculan pembatas yang ditentukan.

Coba ini, Sepertinya berfungsi dengan baik:

SELECT ID
       ,SUBSTRING_INDEX(SUBSTRING_INDEX(t.AgentID, ',', n.n), ',', -1) Agent
       ,Name
       ,SUBSTRING_INDEX(SUBSTRING_INDEX(t.Return_Date, ',', n.n), ',', -1) Return_Date
FROM table1 t CROSS JOIN 
 (
   SELECT a.N + b.N * 10 + 1 n
   FROM 
     (SELECT 0 AS N UNION ALL SELECT 1 UNION ALL SELECT 2 UNION ALL SELECT 3 UNION ALL SELECT 4 UNION ALL SELECT 5 UNION ALL SELECT 6 UNION ALL SELECT 7 UNION ALL SELECT 8 UNION ALL SELECT 9) a
    ,(SELECT 0 AS N UNION ALL SELECT 1 UNION ALL SELECT 2 UNION ALL SELECT 3 UNION ALL SELECT 4 UNION ALL SELECT 5 UNION ALL SELECT 6 UNION ALL SELECT 7 UNION ALL SELECT 8 UNION ALL SELECT 9) b
   ORDER BY n
  ) n

WHERE n.n <= 1 + (LENGTH(t.Return_Date) - LENGTH(REPLACE(t.Return_Date, ',', '')))
ORDER BY ID;

Periksa ini..SQL Fiddle DI SINI

Untuk Studi lebih lanjut, buka Fungsi String Split MySQL



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Python mySQL - keluar dari tanda kutip

  2. Bagaimana saya bisa menemukan karakter non-ASCII di MySQL?

  3. Manajemen akun pengguna, peran, izin, otentikasi PHP dan MySQL - Bagian 2

  4. Mendapatkan error 1366 Nilai integer salah:'1' saat mengimpor file

  5. Xampp MySQL tidak memulai - Mencoba memulai layanan MySQL...