Cara mengalih keluar ruang dalam oracle: 1. Gunakan fungsi Trim untuk mengeluarkan ruang hadapan dan belakang dalam rentetan 2. Gunakan rtrim dan ltrim untuk mengeluarkan ruang kiri dan kanan; untuk mengalih keluar semua ruang dalam rentetan.
Persekitaran pengendalian artikel ini: sistem Windows 7, komputer Dell G3, versi Oracle 11g.
Bagaimana untuk mengalih keluar ruang dalam oracle?
Cara mengalih keluar ruang daripada rentetan dalam Oracle:
Yang pertama ialah fungsi Trim. Fungsi pemangkasan mempunyai fungsi memadam sebarang aksara yang ditentukan, dan mengalih keluar ruang pada permulaan dan penghujung rentetan ialah fungsi pemangkasan yang paling kerap digunakan.
SintaksTrim ( string )
Rentetan parameter: jenis rentetan, menentukan rentetan nilai pulangan Rentetan untuk dialih keluar daripada ruang hadapan dan belakang.
Apabila fungsi berjaya dilaksanakan, ia mengembalikan rentetan dengan ruang hadapan dan belakang dialih keluar daripada rentetan rentetan Apabila ralat berlaku, ia mengembalikan rentetan kosong ("").
Jika nilai parameter adalah nol, pengecualian penuding nol akan dilemparkan.
Dalam Oracle, bentuk trim yang paling biasa digunakan ialah rtrim() dan ltrim(), iaitu untuk mengalih keluar ruang di sebelah kanan rentetan dan untuk mengalih keluar ruang di sebelah kiri rentetan.
Sudah tentu, fungsi trim adalah lebih daripada itu Pengenalan terperinci akan diberikan di bawah di sini saya akan mengambil alih ruang rentetan sebagai contoh.
Mari kita lihat penerangan sintaks fungsi pemangkasan:
trim( [ { {leading|trailing|both} [trim_character]|trim_character} from] trim_source
1), tanpa menggunakan sebarang parameter
SQL> select trim(' 11 ') aa from dual;
11
Ini adalah yang paling Kaedah penggunaan biasa ialah menggunakan parameter lalai Secara lalai, TRIM akan memadamkan ruang sebelum dan selepas rentetan pada masa yang sama.
2), menggunakan kedua-dua parameter, kesannya adalah sama seperti kaedah 1 tanpa menggunakan sebarang parameter
SQL> select trim(both from ' 11 ') aa from dual;
11
Parameter "KEDUANYA" bermaksud mengeluarkan rentetan dinyatakan sebelum dan selepas pada masa yang sama kandungan (alih keluar ruang secara lalai).
3), gunakan parameter di hadapan dan di belakang
SQL> select trim(leading from ' 11 ') aa from dual;
11
SQL> select trim(trailing from ' 11 ') aa from dual;
11
untuk mendapatkan pemisah '-' daripada Hasilnya, Anda boleh mendapati bahawa menggunakan parameter utama boleh mengalih keluar ruang di hujung kanan rentetan, dan parameter mengekor boleh mengalih keluar ruang di hujung kiri rentetan. Sama seperti rtrim() dan ltrim() yang disediakan oleh oracle.
4), gunakan parameter trim_character
parameter trim_character menukar tingkah laku lalai "buang ruang". Jika anda ingin mengalih keluar "x" yang muncul sebelum dan selepas rentetan 'xxxxWORLDxxxx', parameter "trim_character" berguna.
SQL> select trim('x' from 'xxxxWORLDxxxx') aaaaa from dual;
WORLD
trim_character digunakan dengan tiga parameter "kedua-dua", "mengikut" dan "memimpin". Mari lihat hasilnya dan tidak akan menjelaskan secara terperinci.
SQL> select trim('x' from 'xxxxWORLDxxxx') aaaaa from dual;
DUNIA
SQL> select trim(both 'x' from 'xxxxWORLDxxxx') aaaaa from dual;
DUNIA
SQL> select trim(trailing 'x' from 'xxxxWORLDxxxx') aaaaa from dual;
XxxxWORLD
SQL> select trim(leading 'x' from 'xxxxWORLDxxxx') aaaaa from dual;
DUNIAxxxx
Perlu diingat bahawa parameter "trim_character" di sini hanya membenarkan satu aksara dan berbilang aksara adalah tidak disokong. Trim tidak dapat memenuhi keperluan kami untuk mengalih keluar berbilang aksara, tetapi kami boleh menggunakan rtrim dan ltrim untuk mengendalikannya.
1) Gunakan rtrim
SQL> select rtrim('ORxxxxWORLDxxxxOR','OR') aaaaa from dual;
ORxxxxWORLDxxxx
2) Gunakan ltrim
SQL> select ltrim('ORxxxxWORLDxxxxOR','OR') aaaaa from dual;
xxxxWORLDxxxxOR
3) Penggunaan gabungan fungsi RTRIM dan LTRIM untuk mencapai matlamat kami
SQL> select rtrim(ltrim('ORxxxxWORLDxxxxOR','OR'),'OR') aaaaa from dual;
xxxxWORLDxxxx
Nota apabila menggunakan fungsi rtrim dan ltrim: "OR" tidak bermakna memadankan keseluruhan rentetan "OR", tetapi sebarang aksara "O" atau "R" yang ditemui akan dipadamkan.
Aplikasi fungsi trim diperkenalkan. Saya secara peribadi berpendapat bahawa fungsi ganti lebih berguna apabila mengalih keluar ruang. Fungsi ganti menggantikan semua kemunculan ungkapan rentetan kedua yang diberikan dalam ungkapan rentetan pertama dengan ungkapan ketiga. Mari lihat huraian sintaks bagi fungsi ganti: replace('string_replace1','string_replace2','string_replace3')
'string_replace1' Ungkapan rentetan yang akan dicari, string_replace1 boleh menjadi data aksara atau data binari.
'string_replace2' Ungkapan rentetan yang akan ditemui, string_replace2 boleh menjadi data aksara atau data binari.
'string_replace3' Ungkapan rentetan untuk penggantian, string_replace3 boleh menjadi data aksara atau data binari.
返回类型,如果 string_replace(1、2 或 3)是支持的字符数据类型之一,则返回字符数据;如果 string_replace(1、2 或 3)是支持的 binary 数据类型之一,则返回二进制数据。
这里我们依然以去空格为例。
SQL> select replace(' aa kk ',' ','') abcd from dual;
aakk
与使用trim函数的结果进行对比,我们可以发现,使用replace函数不仅可以去除字符串两端的空格,也可去除字符串内部的空格。
当然,如果只是要去除字符串两端的空格,使用trim函数效率会更高。
相关推荐:oracle数据库学习教程
Atas ialah kandungan terperinci Bagaimana untuk membuang ruang dalam oracle. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!