Program
Bekerja dengan database relasional sering kali melibatkan penanganan data yang berantakan. Salah satu tantangan paling umum adalah membersihkan dan memproses data teks. Untungnya, SQL menyediakan fungsi string yang kuat sehingga proses ini menjadi jauh lebih efisien, menghemat waktu dan usaha Anda.
Dalam artikel ini, kita akan mengeksplorasi fungsi string SQL paling penting yang dapat membantu Anda membersihkan dan memanipulasi data teks dengan mudah. Mari mulai!
Apa Itu Fungsi String SQL?
Fungsi String SQL adalah fungsi bawaan yang memungkinkan kita memanipulasi dan memproses data teks yang disimpan di dalam database. Contoh umum bidang teks termasuk nama, deskripsi, dan alamat.
Fungsi-fungsi ini dapat digunakan untuk menjalankan berbagai tugas, termasuk:
- Menggabungkan string
- Memformat teks
- Mengekstrak bagian dari sebuah string
- Mencari dan mengganti teks tertentu dalam sebuah string
Menggabungkan String di SQL
Kita dapat menggabungkan dua atau lebih string menggunakan fungsi concat():
SELECT CONCAT('Street Roma',', ','72',', ','Padova') AS full_address
Ini adalah keluarannya:
full_address |
-----------------------+
Street Roma, 72, Padova|
Fungsi ini banyak digunakan untuk menggabungkan informasi yang disediakan oleh kolom berbeda, seperti nama dan alamat.
Sebagai alternatif, Anda juga dapat menggunakan fungsi CONCAT_WS():
SELECT CONCAT_WS(',','Street Roma','72','Padova') as full_address
Dari sintaksnya, Anda dapat melihat bahwa fungsi ini lebih mudah dan efisien dalam situasi ketika Anda ingin menggabungkan lebih dari dua kolom dengan pemisah yang sama.
Memformat Teks
Berikut beberapa fungsi string SQL untuk menyesuaikan teks dengan mengubah huruf besar-kecil, menghapus spasi ekstra, dan operasi lainnya. Setiap fungsi dicantumkan dengan sintaksnya dan deskripsi yang sesuai.
|
Sintaks Fungsi |
Deskripsi |
| LOWER(string) |
Mengembalikan teks dengan semua karakter dalam huruf kecil |
| UPPER(string) |
Mengembalikan teks dengan semua karakter dalam huruf besar |
| TRIM(string, [character]) |
Menghapus spasi putih dari sisi kiri dan kanan string secara default, karakter khusus jika ditentukan |
| LTRIM(string, [character]) |
Menghapus spasi putih dari sisi kiri string secara default, karakter khusus jika ditentukan |
| RTRIM(string, [character]) |
Menghapus spasi putih dari sisi kanan string secara default, karakter khusus jika ditentukan |
Sekarang, mari tampilkan beberapa contoh untuk memahami cara menerapkan fungsi-fungsi ini. Bayangkan Anda memiliki alamat email dengan huruf besar, dan kode negara dalam huruf kecil, dan Anda ingin memperbaiki format kolom-kolom tersebut.
SELECT
LOWER('ANONymous@gmail.com') AS email,
UPPER('it') AS country
Ini adalah keluarannya:
email |country|
-------------------+-------+
anonymous@gmail.com|IT |
Selain mengubah huruf besar-kecil, akan berguna juga untuk menghilangkan spasi di depan atau di akhir string. Fungsi utama untuk operasi ini adalah TRIM() untuk menghapus dari kedua sisi. Alternatif lainnya adalah LTRIM() dan RTRIM() untuk menghapus spasi masing-masing dari sisi kiri dan kanan:
SELECT TRIM(' Street Roma, 72 ') AS trimmed_address,
LTRIM(' Street Roma, 72 ') AS ltrimmed_address,
RTRIM(' Street Roma, 72 ') AS rtrimmed_address
Kueri mengembalikan hasil berikut:
trimmed_address|ltrimmed_address|rtrimmed_address|
---------------+----------------+----------------+
Street Roma, 72|Street Roma, 72 | Street Roma, 72|
Dari keluaran tersebut, Anda dapat melihat perbedaan di antara tiap fungsi. Selain itu, TRIM() dapat diterapkan untuk menghapus karakter khusus lainnya, selain spasi. Misalnya, kita ingin membersihkan kolom telepon dengan menghilangkan tanda +:
SELECT TRIM('++345','+') AS telephone
Keluaran yang dikembalikan adalah sebagai berikut:
telephone|
---------+
345 |
Seperti yang Anda lihat, nomor teleponnya benar-benar bersih.
Mengekstrak Teks
Setelah menggabungkan dan mengubah format string, saatnya mempelajari cara mengekstraksi teks menggunakan fungsi SQL khusus SUBSTRING(). Mari tampilkan berbagai contoh untuk menguasai fungsi ini:
SELECT
SUBSTRING('Antony',1,1) AS first_character,
SUBSTRING('Antony',1,3) AS first_3characters,
SUBSTRING('Antony',1,5) AS first_5characters
Ini adalah keluaran yang dihasilkan:
first_character|first_3characters|first_5characters|
---------------+-----------------+-----------------+
A |Ant |Anton |
Kita juga dapat menggabungkan fungsi ini dengan fungsi sebelumnya untuk membuat huruf pertama menjadi kapital, mengubah sisa huruf menjadi huruf kecil, lalu menggabungkan seluruh hurufnya:
SELECT
LENGTH('antony') AS lenght_name,
SUBSTRING(UPPER('antony'),1,1) AS first_character,
SUBSTRING(LOWER('antony'),2,LENGTH('antony')) AS last_characters,
CONCAT(SUBSTRING(UPPER('antony'),1,1),SUBSTRING(LOWER('antony'),
2,LENGTH('antony'))) AS name
Kueri ini mengembalikan hasil berikut:
lenght_name|first_character|LAST_characters|name |
-----------+---------------+---------------+------+
6|A |ntony |Antony|
Selain fungsi-fungsi yang sudah dibahas, Anda dapat melihat fungsi LENGTH() yang membantu mendapatkan panjang string. Dalam konteks ini, fungsi tersebut berguna untuk menentukan indeks karakter terakhir.
Mencari dan Mengganti String di SQL
Berikut adalah fungsi-fungsi utama untuk mencari dan mengganti string:
|
Sintaks Fungsi |
Deskripsi |
| REPLACE(string,x,y) |
Mengganti nilai x dalam string dengan nilai y |
| CHARINDEX(x,string) |
Menemukan posisi nilai x di dalam string |
Fungsi yang sangat berguna adalah REPLACE() untuk mengganti sebuah substring dengan substring lain di dalam string:
SELECT
'Street Roma - 32' AS address,
replace('Street Roma - 32','-',',') AS cleaned_address
Ini adalah keluarannya:
address |cleaned_address |
----------------+----------------+
Street Roma - 32|Street Roma , 32|
Dalam kasus ini, kita hanya mengganti tanda hubung dengan koma di dalam alamat. Kita juga dapat mencari posisi tanda hubung tersebut dalam alamat:
SELECT
'Street Roma - 32' AS address,
LENGTH('Street Roma - 32') AS length_address,
CHARINDEX('-','Street Roma - 32') AS location_dash
Kueri mengembalikan hasil berikut:
address |length_address|location_dash|
----------------+--------------+-------------+
Street Roma - 32| 16| 13|
Kita dapat melihat bahwa simbol - berada pada posisi 13 dalam alamat, hampir di akhir string.
Kesimpulan
Menguasai fungsi-fungsi string SQL ini dapat membuat perbedaan dalam membersihkan data secara efisien. Tentu saja, artikel ini tidak membahas semua fungsi, melainkan hanya daftar singkat fungsi-fungsi terpenting. Tidak semua fungsi SQL selalu berlaku dan dapat berbeda tergantung pada jenis database yang Anda gunakan. Misalnya, CHARINDEX dapat diganti dengan LOCATE() dalam database MySQL.
Untuk berlatih dengan fungsi-fungsi ini, Anda dapat melihat kursus Reporting in SQL kami. Kursus ini dapat membantu Anda menjadi ahli dalam membersihkan data dan membangun laporan yang kompleks. Kami juga merekomendasikan jalur keterampilan SQL Fundamentals untuk mencakup semua aspek penting SQL.

