Dalam pangkalan data Oracle, kadangkala perlu mengalih keluar bahagian tertentu rentetan, seperti mengalih keluar aksara tertentu dalam rentetan, mengalih keluar ruang sebelum dan selepas rentetan, dsb. Artikel ini akan memperkenalkan cara mengalih keluar rentetan dalam Oracle.
Dalam Oracle, anda boleh menggunakan fungsi REPLACE untuk mengalih keluar aksara yang ditentukan daripada rentetan. Fungsi REPLACE membolehkan pengguna menggantikan semua aksara tertentu dalam rentetan dengan rentetan lain.
Sintaksnya adalah seperti berikut:
REPLACE(string, old_string, new_string)
Antaranya, rentetan ialah rentetan yang akan diganti, rentetan_lama ialah aksara yang akan diganti, dan rentetan baru ialah aksara yang diganti.
Sebagai contoh, untuk mengalih keluar aksara "c" daripada rentetan "abcde", anda boleh menggunakan pernyataan berikut:
SELECT REPLACE('abcde', 'c', '') FROM dual;
Hasil keluaran pernyataan di atas ialah "abde".
Dalam Oracle, anda boleh menggunakan fungsi TRIM untuk mengalih keluar ruang sebelum dan selepas rentetan. Fungsi TRIM boleh digunakan untuk mengalih keluar ruang daripada rentetan tertentu, atau untuk mengalih keluar ruang daripada kedua-dua belah rentetan.
Sintaksnya adalah seperti berikut:
TRIM([LEADING | TRAILING | BOTH] [trim_string] FROM string)
Antaranya, LEADING bermaksud membuang ruang di sebelah kiri, TRAILING bermaksud membuang ruang di sebelah kanan, dan KEDUA-DUA bermaksud membuang ruang pada kedua-dua belah pada masa yang sama . trim_string boleh menentukan rentetan yang akan dialih keluar Jika tidak dinyatakan, ruang akan dialih keluar secara lalai.
Sebagai contoh, untuk mengalih keluar ruang sebelum dan selepas rentetan "abcde", anda boleh menggunakan pernyataan berikut:
SELECT TRIM(' abcde ') FROM dual;
Hasil keluaran pernyataan di atas ialah "abcde".
Dalam Oracle, anda boleh menggunakan fungsi REGEXP_REPLACE untuk mengalih keluar huruf dan nombor daripada rentetan. Fungsi ini membolehkan pengguna menggantikan aksara dalam rentetan menggunakan ungkapan biasa.
Sintaksnya adalah seperti berikut:
REGEXP_REPLACE(string, pattern, '')
Antaranya, rentetan ialah rentetan yang akan diganti, corak ialah ungkapan biasa yang akan dipadankan, dan parameter ketiga ialah aksara yang diganti, berikut ialah rentetan aksara nol.
Contohnya, untuk mengalih keluar semua huruf dan nombor dalam rentetan "a1b2c3d4e5", anda boleh menggunakan pernyataan berikut:
SELECT REGEXP_REPLACE('a1b2c3d4e5', '[[:alpha:][:digit:]]', '') FROM dual;
Keluaran pernyataan di atas ialah "".
Dalam Oracle, anda boleh menggunakan fungsi NLSSORT dan fungsi REGEXP_REPLACE untuk mengalih keluar aksara Cina daripada rentetan.
Sintaks adalah seperti berikut:
Sebagai contoh, untuk mengalih keluar aksara Cina dalam rentetan "abc Chinese def", anda boleh menggunakan pernyataan berikut:
Output pernyataan di atas ialah "abcdef".
Dalam Oracle, anda boleh menggunakan fungsi DBMS_XMLGEN dan fungsi REGEXP_REPLACE untuk mengalih keluar teg HTML daripada rentetan.
Sintaksnya adalah seperti berikut:
REGEXP_REPLACE(DBMS_XMLGEN.getXMLType(string).getStringVal(), '<[^>]+>', '')
Antaranya, rentetan ialah rentetan yang akan diganti, DBMS_XMLGEN.getXMLType(string).getStringVal() menukar rentetan kepada jenis XMLType, < 1+> ialah ungkapan biasa yang sepadan dengan semua teg HTML.
Sebagai contoh, untuk mengalih keluar semua teg dalam rentetan HTML berikut:
<body> <div class="container"> <h1>Hello world!</h1> <p>This is a paragraph.</p> </div> </body>
Anda boleh menggunakan pernyataan berikut:
SELECT REGEXP_REPLACE(DBMS_XMLGEN.getXMLType('<body><div class="container"><h1>Hello world!</h1><p>This is a paragraph.</p></div></body>').getStringVal(), '<[^>]+>', '') FROM dual;
Keluaran pernyataan di atas ialah "Hello world ! Ini adalah perenggan."
Ringkasan
Artikel ini memperkenalkan cara mengalih keluar rentetan dalam Oracle. Sama ada untuk mengalih keluar aksara tertentu, mengalihkan ruang, mengalih keluar huruf dan nombor, mengalih keluar aksara Cina atau mengalih keluar tag HTML, Oracle menyediakan fungsi dan ungkapan biasa yang sepadan. Saya percaya bahawa pembaca boleh memilih dan menggunakan mengikut situasi tertentu dalam aplikasi praktikal.
Atas ialah kandungan terperinci Oracle mengeluarkan rentetan. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!