Fungsi Teks: CONCAT, UPPER, LEFT, LPAD, dan Teman-temannya

Mengolah teks langsung di query: menggabungkan, mengubah huruf, memotong, mengganti, menghitung panjang, dan membuat kode berformat rapi.

Part 16 dari 38 ± 40 menit Gratis

Fungsi = mesin kecil dengan input dan output

Fungsi menerima nilai di dalam kurung, memprosesnya, dan mengembalikan hasil. MySQL punya ratusan fungsi; kita pelajari yang paling berguna. Fungsi bisa dipakai di SELECT, WHERE, ORDER BY, dan lain-lain.

Fungsi teks populer

FungsiContohHasil
CONCAT(a, b, ...)CONCAT('Kopi', ' ', 'Susu')Kopi Susu
CONCAT_WS(sep, a, b, ...)CONCAT_WS('-', '2024', '03', '15')2024-03-15
UPPER(x) / LOWER(x)UPPER('kopi')KOPI
LENGTH(x) / CHAR_LENGTH(x)CHAR_LENGTH('Kopi')4
LEFT(x, n) / RIGHT(x, n)LEFT('Americano', 3)Ame
SUBSTRING(x, mulai, panjang)SUBSTRING('Americano', 4, 3)ric
TRIM(x)TRIM(' halo ')halo
REPLACE(x, cari, ganti)REPLACE('Es Teh', 'Teh', 'Jeruk')Es Jeruk
LPAD(x, panjang, isi)LPAD(7, 3, '0')007
REVERSE(x)REVERSE('abc')cba
LOCATE(cari, x)LOCATE('o', 'Americano')8 (posisi pertama)

Hati-hati: posisi karakter di MySQL dimulai dari 1, bukan 0 seperti di kebanyakan bahasa pemrograman. SUBSTRING('Kopi', 1, 1) menghasilkan 'K'. Di MySQL asli, LENGTH menghitung byte, jadi untuk teks berhuruf non-ASCII gunakan CHAR_LENGTH.

Contoh nyata

-- kartu nama: "Dewi Lestari (Jakarta)"
SELECT CONCAT(nama, ' (', kota, ')') AS keterangan FROM pelanggan;

-- kode produk rapi: KOP-001
SELECT CONCAT(UPPER(LEFT(nama, 3)), '-', LPAD(id, 3, '0')) AS kode FROM produk;

-- cari produk tanpa peduli huruf besar-kecil
SELECT * FROM produk WHERE LOWER(nama) LIKE '%kopi%';

-- inisial dari email: bagian sebelum @
SELECT SUBSTRING_INDEX(email, '@', 1) AS username FROM pelanggan;

Fungsi di dalam fungsi

Hasil sebuah fungsi bisa menjadi input fungsi lain. Baca dari dalam ke luar: UPPER(LEFT(nama, 3)) → ambil 3 huruf pertama, baru ubah jadi huruf besar.

Sentuhan performa: memakai fungsi pada kolom di WHERE (WHERE LOWER(nama) = 'kopi') membuat MySQL tidak bisa memakai index kolom itu. Di tabel besar, usahakan bandingkan langsung kolomnya.

Praktikkan langsung, gratis

Tulis dan jalankan kode langsung di browser, dapatkan penilaian otomatis. Daftar gratis kapan saja untuk menyimpan progres dan meraih sertifikat.

Coba latihan sekarang, tanpa daftar
Bagikan: WhatsApp Facebook LinkedIn X