Di MariaDB, TRIM()
adalah fungsi string bawaan yang menghapus karakter dari awal atau akhir string.
Secara default, ini menghilangkan spasi awal dan akhir, tetapi Anda dapat menentukan karakter mana yang akan dihapus, serta sisi mana yang ingin Anda hapus.
Sintaks
TRIM()
fungsi dapat digunakan sebagai berikut:
TRIM([remstr FROM] str)
Atau:
TRIM([{BOTH | LEADING | TRAILING} [remstr] FROM] str)
Dimana str
adalah string untuk menghapus spasi tambahan, dan remstr
adalah string yang akan dihapus.
Jika remstr
tidak disediakan, maka TRIM()
menghilangkan spasi.
Contoh
Berikut ini contoh dasarnya:
SELECT
' Caribbean Island ' AS "Untrimmed",
TRIM(' Caribbean Island ') AS "Trimmed";
Hasil:
+-------------------------+------------------+| Belum dipangkas | Dipangkas |+-----------------------+------------------+| Pulau Karibia | Pulau Karibia |+-----------------------+------------------+Contoh ini menggunakan sintaks paling dasar. Yang kami lakukan hanyalah menyediakan tali untuk dipangkas. Kami tidak menentukan karakter mana yang akan dipangkas, sehingga semua spasi dipangkas dari kedua sisi string.
Kita juga dapat melihat bahwa ruang di dalam string tetap utuh.
BOTH
ArgumenSecara default,
TRIM()
memotong kedua sisi tali. Namun, Anda dapat secara eksplisit menentukanBOTH
jika Anda mau:SELECT ' Caribbean Island ' AS "Untrimmed", TRIM(BOTH FROM ' Caribbean Island ') AS "Trimmed";
Hasil:
+-------------------------+------------------+| Belum dipangkas | Dipangkas |+-----------------------+------------------+| Pulau Karibia | Pulau Karibia |+-----------------------+------------------+Kami mendapatkan hasil yang sama seperti contoh sebelumnya.
Yang
LEADING
ArgumenMenentukan
LEADING
membatasi operasi trim hanya pada awal string:SELECT ' Caribbean Island ' AS "Untrimmed", TRIM(LEADING FROM ' Caribbean Island ') AS "Trimmed";
Hasil:
+------------------------+--------------------- +| Belum dipangkas | Dipangkas |+-----------------------+---------------------+ | Pulau Karibia | Pulau Karibia |+-----------------------+--------------------- +Kita dapat melihat bahwa masih ada spasi di sisi kanan string yang dipangkas. Hanya bagian kiri yang dipangkas.
The
TRAILING
ArgumenMenentukan
TRAILING
membatasi operasi trim hanya pada awal string:SELECT ' Caribbean Island ' AS "Untrimmed", TRIM(TRAILING FROM ' Caribbean Island ') AS "Trimmed";
Hasil:
+------------------------+--------------------- +| Belum dipangkas | Dipangkas |+-----------------------+---------------------+ | Pulau Karibia | Pulau Karibia |+-----------------------+--------------------- +Kali ini, hanya bagian kanan yang dipangkas. Spasi masih ada di sisi kiri string yang dipangkas.
Tentukan String untuk Dipangkas
Berikut adalah contoh untuk menentukan karakter mana yang akan dipotong:
SELECT '...mountain...' AS "Untrimmed", TRIM('.' FROM '...mountain...') AS "Trimmed";
Hasil:
+----------------+----------+| Belum dipangkas | Dipangkas |+----------------+----------+| ...gunung... | gunung |+----------------+----------+Tidak harus satu karakter. Anda dapat menentukan string apa pun untuk dipangkas:
SELECT TRIM('.' FROM '.+.mountain.+.') AS "1", TRIM('.+' FROM '.+.mountain.+.') AS "2", TRIM('+.' FROM '.+.mountain.+.') AS "3", TRIM('.+.' FROM '.+.mountain.+.') AS "4";
Hasil:
+-------------+--------------+--------------+- ---------+| 1 | 2 | 3 | 4 |+--------------+--------------+--------------+-- --------+| +.gunung.+ | .gunung.+. | .+.gunung. | gunung |+--------------+--------------+--------------+-- --------+Anda bahkan dapat memangkas sebagian kata jika Anda mau:
SELECT TRIM('moun' FROM 'mountain');
Hasil:
+-----------------------------+| TRIM('gunung' DARI 'gunung') |+------------------------------+| tain |+------------------------------+Kita juga dapat menggunakan
BOTH
,LEADING
danTRAILING
argumen saat menentukan string yang akan dipangkas.Contoh:
SELECT TRIM(BOTH '.' FROM '...mountain...') AS "Both", TRIM(LEADING '.' FROM '...mountain...') AS "Leading", TRIM(TRAILING '.' FROM '...mountain...') AS "Trailaing";
Hasil:
+----------+-------------+-------------+| Keduanya | Terkemuka | Trailaing |+----------+-------------+-------------+| gunung | gunung... | ...gunung |+----------+-------------+-------------+Argumen Null
Jika diberi
null
argumen, hasilnya adalahnull
:SELECT TRIM(null);
Hasil:
+------------+| TRIM(null) |+------------+| NULL |+------------+Mode Oracle
Ketika tidak berjalan dalam mode Oracle, jika hasilnya kosong (yaitu memiliki panjang nol) hasilnya adalah string kosong.
Namun, saat dijalankan dalam mode Oracle, hasilnya adalah
null
.Ini dia dalam mode default (yaitu tidak dalam mode Oracle):
SELECT TRIM('');
Hasil:
+----------+| TRIM('') |+----------+| |+----------+Sekarang mari kita beralih ke mode Oracle:
SET SQL_MODE=ORACLE;
Dan jalankan kembali kodenya:
SELECT TRIM('');
Hasil:
+----------+| TRIM('') |+----------+| NULL |+----------+Ada juga cara alternatif untuk melakukan ini. Alih-alih beralih ke mode Oracle, Anda dapat menggunakan
TRIM_ORACLE()
sebagai nama fungsi.Mari beralih kembali ke mode default:
SET SQL_MODE=DEFAULT;
Dan sekarang jalankan
TRIM_ORACLE()
:SELECT TRIM_ORACLE('');
Hasil:
+-----------------+| TRIM_ORACLE('') |+-----------------+| NULL |+-----------------+Argumen Tidak Ada
Memanggil
TRIM()
tanpa argumen menghasilkan kesalahan:SELECT TRIM();
Hasil:
ERROR 1064 (42000):Anda memiliki kesalahan dalam sintaks SQL Anda; periksa manual yang sesuai dengan versi server MariaDB Anda untuk sintaks yang tepat untuk digunakan di dekat ')' di baris 1