Rumah > pangkalan data > Oracle > teks badan

Bagaimana untuk membuang ruang dalam oracle

藏色散人
Lepaskan: 2021-12-15 11:26:08
asal
46787 orang telah melayarinya

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.

Bagaimana untuk membuang ruang dalam oracle

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
Salin selepas log masuk

1), tanpa menggunakan sebarang parameter

SQL> select trim('   11   ') aa from dual;
Salin selepas log masuk

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;
Salin selepas log masuk

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;
Salin selepas log masuk

11

SQL> select trim(trailing from '   11  ') aa from dual;
Salin selepas log masuk

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;
Salin selepas log masuk
Salin selepas log masuk

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;
Salin selepas log masuk
Salin selepas log masuk

DUNIA

SQL> select trim(both 'x' from 'xxxxWORLDxxxx') aaaaa from dual;
Salin selepas log masuk

DUNIA

SQL> select trim(trailing 'x' from 'xxxxWORLDxxxx') aaaaa from dual;
Salin selepas log masuk

XxxxWORLD

SQL> select trim(leading 'x' from 'xxxxWORLDxxxx') aaaaa from dual;
Salin selepas log masuk

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;
Salin selepas log masuk

ORxxxxWORLDxxxx

2) Gunakan ltrim

SQL> select ltrim('ORxxxxWORLDxxxxOR','OR') aaaaa from dual;
Salin selepas log masuk

xxxxWORLDxxxxOR

3) Penggunaan gabungan fungsi RTRIM dan LTRIM untuk mencapai matlamat kami

SQL> select rtrim(ltrim('ORxxxxWORLDxxxxOR','OR'),'OR') aaaaa from dual;
Salin selepas log masuk

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;
Salin selepas log masuk

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!

Label berkaitan:
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan