Penjelasan sederhana
TRIM menghapus spasi berlebih di awal dan akhir teks. Spasi di tengah tidak disentuh. Sama dengan rumus TRIM di Excel.
Spasi tersembunyi adalah penyebab klasik query yang "tidak ketemu": di layar tulisannya Jakarta, tapi di database tersimpan "Jakarta " dengan spasi di belakang, sehingga WHERE kota = 'Jakarta' tidak cocok.
Sintaks
TRIM(teks)
LTRIM(teks) -- kiri saja
RTRIM(teks) -- kanan saja
| Bagian | Keterangan |
|---|---|
teks | Kolom atau teks yang dibersihkan. Spasi di tengah tidak dihapus. |
Tanda [kurung siku] berarti bagian opsional. Kata kunci SQL tidak membedakan huruf besar-kecil, tapi menulisnya dengan huruf besar membuat query lebih mudah dibaca.
Contoh TRIM
Data contoh: karyawan
Tabel karyawan
| id | nama | dept_id | kota | gaji | tgl_masuk | atasan_id |
|---|---|---|---|---|---|---|
| 1 | Andi Pratama | 3 | Bandung | 12500000 | 2019-03-11 | NULL |
| 2 | Bunga Lestari | 1 | Jakarta | 9800000 | 2020-07-01 | NULL |
| 3 | Candra Wijaya | 3 | Bandung | 8200000 | 2021-02-15 | 1 |
| 4 | Dewi Anggraini | 2 | Jakarta | 7500000 | 2022-05-09 | 6 |
| 5 | Eko Saputra | 1 | Jakarta | 6900000 | 2023-01-16 | 2 |
| 6 | Fajar Nugroho | 2 | Surabaya | 11000000 | 2018-09-03 | NULL |
| 7 | Gita Permata | 3 | Jakarta | 8200000 | 2023-08-21 | 1 |
| 8 | Hendra Gunawan | NULL | Medan | 5500000 | 2024-04-02 | NULL |
SELECT CONCAT('[', TRIM(' Jakarta '), ']') AS hasil;
Hasil 1 baris
| hasil |
|---|
| [Jakarta] |
Spasi di kiri dan kanan hilang. Tanda kurung siku hanya untuk memperlihatkan batas teksnya.
Cara kerjanya, langkah demi langkah
- Teks awalnya " Jakarta " dengan 2 spasi di depan dan 2 spasi di belakang.
TRIM(...)membuang spasi di kedua sisi, menjadi "Jakarta".CONCAT('[', ..., ']')menambahkan tanda kurung siku hanya supaya batas teksnya terlihat jelas: "[Jakarta]".
Dipakai untuk apa di kantor?
- Membersihkan data hasil impor dari Excel atau formulir online.
- Membersihkan kolom sebelum dipakai untuk JOIN supaya pasangannya ketemu.
Kesalahan yang sering terjadi
- Mengira
TRIMmenghapus semua spasi. Spasi di tengah, misalnya antara nama depan dan belakang, tetap ada. Untuk itu pakaiREPLACE.
REPLACE