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

Memecah data menjadi kolom di mysql

Anda dapat menulis fungsi MySQL khusus yang disebut fungsi yang ditentukan pengguna yang dapat menerima nama variabel dan nilai yang akan dicari, lalu mengembalikan baris atau ID, dll. sesuai kebutuhan.

Dalam fungsi itu, Anda perlu mengulang semua baris dalam kursor hanya baca dan menggunakan SUBSTRING_INDEX() untuk mendapatkan nilai secara terpisah dan memeriksa kecocokan.

Jika Anda membutuhkan bantuan lebih lanjut, beri tahu saya.

Untuk info lebih lanjut, lihat manual MySQL untuk fungsi string di sini .

Ekstrak dari komentar pengguna dari tautan di atas yang mungkin membantu Anda menulis fungsi:Ini akan membagi alamat IP ("a.b.c.d") menjadi 4 oktet masing-masing:

SELECT
`ip` , 
SUBSTRING_INDEX( `ip` , '.', 1 ) AS a,
SUBSTRING_INDEX(SUBSTRING_INDEX( `ip` , '.', 2 ),'.',-1) AS b, 
SUBSTRING_INDEX(SUBSTRING_INDEX( `ip` , '.', -2 ),'.',1) AS c,
SUBSTRING_INDEX( `ip` , '.', -1 ) AS d
FROM log_table



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Memasukkan Data Mysql dengan Satu Nilai dari tabel lain

  2. Apakah mysqldump mendukung bilah kemajuan?

  3. Kapan menggunakan SELECT ... FOR UPDATE?

  4. Menggunakan TIMESTAMP MySQL vs menyimpan stempel waktu secara langsung

  5. SELECT yang mengembalikan daftar nilai yang tidak muncul di baris mana pun