Rumah > pangkalan data > tutorial mysql > Bagaimanakah Saya Boleh Menggunakan REGEXP_REPLACE untuk Mengubah Suai Data dalam MySQL Menggunakan Ungkapan Biasa?

Bagaimanakah Saya Boleh Menggunakan REGEXP_REPLACE untuk Mengubah Suai Data dalam MySQL Menggunakan Ungkapan Biasa?

Linda Hamilton
Lepaskan: 2024-12-27 13:04:11
asal
637 orang telah melayarinya

How Can I Use REGEXP_REPLACE to Modify Data in MySQL Using Regular Expressions?

Ganti Ungkapan Biasa dalam MySQL

Apabila berurusan dengan set data yang besar, selalunya menjadi perlu untuk membersihkan atau mengubah suai data berdasarkan corak tertentu. Dalam MySQL, tugas menggantikan aksara atau subrentetan dalam lajur menggunakan ungkapan biasa boleh dicapai menggunakan fungsi REGEXP_REPLACE yang lebih baharu, tersedia dalam MariaDB dan MySQL 8.0.

REGEXP_REPLACE Syntax

Sintaks fungsi REGEXP_REPLACE ialah:

REGEXP_REPLACE(col, regexp, replace)
Salin selepas log masuk

di mana:

  • col ialah lajur yang ingin anda ubah suai
  • regexp ialah corak ungkapan biasa yang anda mahu padankan
  • ganti ialah rentetan yang anda mahu gantikan corak yang dipadankan dengan

Contoh Penggunaan

Andaikan anda mempunyai jadual dengan lajur bernama nama fail yang mengandungi nama fail dan anda mahu mengalih keluar sebarang aksara khas (cth., digit, tanda baca) kecuali yang berikut: a-z, A-Z, ( ,), _, ., dan -. Anda boleh menggunakan fungsi REGEXP_REPLACE seperti berikut:

SELECT REGEXP_REPLACE(filename, '[^a-zA-Z0-9()_ .\-]', '')
Salin selepas log masuk

Ini akan mengembalikan lajur baharu dengan nama fail yang diubah suai.

Pengelompokan

The Fungsi REGEXP_REPLACE juga menyokong pengumpulan, membolehkan anda melakukan penggantian yang lebih kompleks. Sebagai contoh, anda boleh menggunakan pengumpulan untuk mengekstrak bahagian corak yang dipadankan dan menggunakannya dalam rentetan gantian.

SELECT REGEXP_REPLACE("stackoverflow", "(stack)(over)(flow)", '\2 - \1 - \3')
Salin selepas log masuk

Ini akan mengembalikan yang berikut:

over - stack - flow
Salin selepas log masuk

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menggunakan REGEXP_REPLACE untuk Mengubah Suai Data dalam MySQL Menggunakan Ungkapan Biasa?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan