Fungsi String MYSQL

Fungsi String MYSQL
Fungsi String MYSQL

CONCAT (str1, str2, ...)

Fungsi ini digunakan untuk mengembalikan string yang dihasilkan dari concatenating (penggabungan 2 atau lebih) argumen. Bisa terdiri dari satu atau lebih argumen. Jika semua argumen adalah string nonbinary, maka hasilnya juga string nonbinary. Jika argumen mencakup string biner, maka hasilnya string biner. Argumen numerik dikonversi ke bentuk string setara nonbinary-nya.

Secara singkat Achmad Solichin menjelaskan di dalam bukunya yang berjudul MySQL5 Dari Pemula Hingga Mahir tentang CONCAT, yaitu Fungsi yang digunakan untuk menggabungkan dua atau lebih string (kolom).

Dalam pembahasan ini, saya akan menggunakan database NORTHWIND untuk demo beberapa contoh fungsinya.

Contoh:
Untuk menunjukan seperti apa cara kerjanya, pertama-tama saya akan menyeleksi beberapa kolom tabel customers sebagai bagian experimen ini, sehingga teman-teman nanti akan tahu perbedaan antara sebelum dan sesudah CONCAT.

SEBELUM:
SELECT CompanyName,CustomerID,Address,PostalCode FROM customers;

Output:
Sebelum CONCAT
Sebelum CONCAT
SESUDAH:
SELECT CompanyName,CustomerID, 
CONCAT (Address,PostalCode) AS Hasil_CONCAT_FullAddress
FROM customers;

Output:
Sesudah CONCAT
Sesudah CONCAT

CONCAT_WS (separator, str1, str2, ...)

Adalah singkatan dari Concatenate With Separator dan merupakan formula khusus dari bentuk CONCAT(). Argumen pertama adalah separator (pemisah), sedangkan sisanya adalah argumen biasa. Separator (pemisah) akan ditambahkan diantara perpotongan string. Separator bisa berupa string atau bisa juga NULL.

Sementara itu, Achmad Solichin menjelaskan di dalam bukunya secara singkat, dimana fungsi ini digunakan untuk menggabungkan dua atau lebih string (kolom) dengan separator diantara masing-masing string.

Contoh:
Seperti biasa, saya akan menyeleksi tabel-tabel yang akan digunakan untuk eksperimen terlebih dahulu, setelah itu saya tunjukan perubahannya. Pada kasus ini saya akan menggunakan tabel employees untuk eksperimen.

SEBELUM:
SELECT TitleOfCourtesy, FirstName, LastName AS FullName 
FROM employees

Output:
Sebelum CONCAT_WS
Sebelum CONCAT_WS
SESUDAH:

Dengan Separator NULL,
SELECT CONCAT_WS('',TitleOfCourtesy,FirstName,LastName) AS FullName 
FROM employees

Output:
CONCAT_WS dengan Separator NULL
CONCAT_WS dengan Separator NULL

Dengan Separator SPASI,
SELECT CONCAT_WS(' ',TitleOfCourtesy,FirstName,LastName) AS FullName 
FROM employees

Output:
CONCAT_WS dengan Separator SPASI
CONCAT_WS dengan Separator SPASI

Dengan Separator STRING,
SELECT CONCAT_WS(' + ',TitleOfCourtesy,FirstName,LastName) AS FullName 
FROM employees

Output:
CONCAT_WS dengan Separator STRING
CONCAT_WS dengan Separator STRING

Dengan Separator ARGUMEN,
SELECT CONCAT_WS(TitleOfCourtesy,TitleOfCourtesy,FirstName,LastName) 
AS FullName FROM employees

Output:
CONCAT_WS dengan Separator ARGUMEN
CONCAT_WS dengan Separator ARGUMEN

MID() atau SUBSTR() atau SUBSTRING()

MID() adalah sinonim dari SUBSTR() adalah sinonim dari SUBSTRING(). Format MID() / SUBSTR() / SUBSTRING() tanpa argumen len (length/panjang), maka akan mengembalikan nilai argumen str (string) yang dimulai dari argumen pos (position/posisi). Sedangkan Format dengan argumen len (length/panjang), maka akan mengembalikan nilai argumen str (string) dengan panjang karakter argumen len (length/panjang), dan dimulai dari argumen pos (position/posisi).

Sementara itu, Achmad Solichin secara singkat menjelaskan bahwa Fungsi ini digunakan untuk mengambil atau memotong string dimulai dari karakter awal sebanyak panjang karakter. Sebagai catatan bahwa di MySQL, index string dimulai dengan 1, bukan 0.

Format Standar Argumen SUBSTR atau SUBSTRING:
/*--Format Standar MID || SUBSTR || SUBSTRING--*/

MID(str,pos)
MID(str FROM pos)
MID(str,pos,len)
MID(str FROM pos FOR len)

SUBSTR(str,pos)
SUBSTR(str FROM pos)
SUBSTR(str,pos,len)
SUBSTR(str FROM pos FOR len)

SUBSTRING(str,pos)
SUBSTRING(str FROM pos)
SUBSTRING(str,pos,len)
SUBSTRING(str FROM pos FOR len)

Contoh:
Seperti biasa, saya akan seleksi tabel terlebih dahulu untuk bahan eksperiman, dan pilihan itu jatuh pada tabel employees kolom FirstName.

SEBELUM:
SELECT FirstName FROM employees;

Output:
Sebelum SUBSTR atau SUBSTRING
Sebelum SUBSTR atau SUBSTRING
SESUDAH:

MID()
SELECT FirstName AS ASLINYA,
MID(FirstName,2) AS CONTOH_1,
MID(FirstName FROM 3) AS CONTOH_2,
MID(FirstName,2,3) AS CONTOH_3,
MID(FirstName FROM 2 FOR 3) AS CONTOH_4
FROM employees;

Output:
Sesudah MID()
Sesudah MID()
SUBSTR()
SELECT FirstName AS ASLINYA,  
SUBSTR(FirstName,2) AS CONTOH_1,
SUBSTR(FirstName FROM 3) AS CONTOH_2,
SUBSTR(FirstName,2,3) AS CONTOH_3,
SUBSTR(FirstName FROM 2 FOR 3) AS CONTOH_4
FROM employees;

Output:
Sesudah SUBSTR()
Sesudah SUBSTR()
SUBSTRING()
SELECT FirstName AS ASLINYA,
SUBSTRING(FirstName,2) AS CONTOH_1,
SUBSTRING(FirstName FROM 3) AS CONTOH_2,
SUBSTRING(FirstName,2,3) AS CONTOH_3,
SUBSTRING(FirstName FROM 2 FOR 3) AS CONTOH_4
FROM employees;

Output:
Sesudah SUBSTRING()
Sesudah SUBSTRING()

LENGTH() atau OCTET_LENGTH() atau CHAR_LENGTH () atau CHARACTER_LENGTH ()

Mengembalikan panjang string str (string), dalam satuan bytes. karakter lebih dari satu disebut sebagai multiple bytes. Ini berarti bahwa string yang berisi lima karakter bermuatan 2-byte, maka LENGTH() akan mengembalikan 10-byte, sedangkan CHAR_LENGTH() mengembalikan 5.

Contoh:
SELECT 
LENGTH('contoh'),
OCTET_LENGTH('contoh'),
CHAR_LENGTH('contoh'),
CHARACTER_LENGTH('contoh');

Output:
LENGTH() Family
LENGTH() Family

LEFT(str, len)

Digunakan untuk mengembalikan len/length/panjang karakter paling kiri dari suatu str/string. Ataupun NULL jika argumen tersebut adalah NULL, bahkan SPASI.

Sementara itu, Achmad Solichin menjelaskan di dalam bukunya bahwa fungsi ini digunakan untuk memotong string dari sebelah kiri sebanyak panjang karakter.

Contoh:
Pertama saya pilih phone di tabel shippers sebagai bahan percobaan.

SEBELUM:
SELECT Phone FROM shippers

Output:
Sebelum LEFT(str, len)
Sebelum LEFT(str, len)
SESUDAH:
SELECT LEFT(Phone,7) FROM shippers

Output:
Sesudah LEFT(str, len)
Sesudah LEFT(str, len)

RIGHT(str, len)

Adalah kebalikan dari LEFT(), yaitu digunakan untuk mengembalikan len/length/panjang karakter paling kanan dari suatu str/string. Ataupun NULL jika argumen tersebut adalah NULL, bahkan SPASI.

Sementara itu, Achmad Solichin menjelaskan di dalam bukunya bahwa fungsi ini digunakan untuk memotong string dari sebelah kanan sebanyak panjang karakter.

Contoh:
Masih menggunakan contoh di atas kolom phone shippers, sehingga outputnya akan seperti ini:
SELECT RIGHT(Phone,5) FROM shippers

Output:
Sesudah RIGHT(str, len)
Sesudah RIGHT(str, len)

LTRIM(str)

Fungsi ini berguna untuk mengembalikan string diikuti dengan penghapusan spasi dimulai dari sebelah kiri.

Sementara itu, Achmad Solichin menjelaskan bahwa, fungsi ini digunakan untuk menghilangkan spasi di awal string (kiri).

Contoh:
SELECT LTRIM('    barbarian');

Output:
Setelah Fungsi LTRIM(str)
Setelah Fungsi LTRIM(str)

RTRIM(str)

Adalah kebalikan dari LTRIM(str) yaitu, berguna untuk mengembalikan string diikuti dengan penghapusan spasi dimulai dari sebelah kanan.

Sementara itu, Achmad Solichin menjelaskan bahwa, fungsi ini digunakan untuk menghilangkan spasi di akhir string (kanan).

Contoh:
SELECT RTRIM('    barbarian      ');

Output:
Setelah Fungsi RTRIM(str)
Setelah Fungsi RTRIM(str)

TRIM(str)

Adalah fungsi yang berguna untuk mengembalikan string diikuti dengan penghapusan spasi baik di sebelah kanan maupun kiri.

Sementara itu, Achmad Solichin menjelaskan bahwa, fungsi ini digunakan untuk menghilangkan spasi di awal dan akhir string (kiri dan kanan).

Format Argumen TRIM() - #Optional
Argumen ini bersifat optional, jadi jika tidak dicantumkan maka secara default fungsi TRIM() akan menghapus spasi baik disebelah kiri maupun kanan.
TRIM( [BOTH] | [LEADING] | [TRAILING] [remstr] [FROM] str)

atau

TRIM([remstr] [FROM] str)

/*--KETERANGAN

| = Dibaca atau
[] = Sebagai batas argumen

*Untuk lebih jelasnya seperti apa cara penggunaannya bisa Anda simak pada contoh di bawah ini!

--*/

Contoh:
SELECT 
TRIM(' barbarian pekka archer '),
TRIM(LEADING 'x' FROM 'xxxbarxxx'),
TRIM(BOTH 'x' FROM 'xxxbarxxx'),
TRIM(TRAILING 'xyz' FROM 'barxxyz');

Output:
Setelah TRIM()
Setelah TRIM()

REPLACE(str, from_str, to_str)

Fungsi ini berguna untuk mengembalikan str(string) dengan kondisi string yang ditentukan dengan from_str, dan digantikan oleh to_str. REPLACE() bersifat case-sensitive, artinya kondisi pada argumen from_str maupun to_str sangat diperhatikan antara CAPITAL atau small letter.

Sementara itu, Achmad Solichin menjelaskan bahwa, fungsi ini digunakan untuk mengganti suatu string dengan string yang lain.

Contoh:
SELECT REPLACE ('www.gatewan.com', 'w', 'x' );

Output:
Setelah REPLACE()
Setelah REPLACE()

REPEAT(str, count)

Berguna untuk mengulangi string dalam jumlah tertentu.

Fungsi ini berguna untuk mengembalikan string yang terdiri dari str(string), diulang dalam count(berapa kali) tertentu. Jika count kurang dari 1, maka akan dikembalikan dengan string kosong. Jadi, REPEAT() hanya akan mengembalikan NULL jika salah satunya(count) atau kedua argumennya NULL.

Sementara itu, Achmad Solichin menjelaskan bahwa, fungsi ini digunakan untuk menduplikasi suatu string sebanyak jumlah.

Contoh:
SELECT 
REPEAT('MySQL', 3),
REPEAT('MySQL', 0);

Output:
Setelah REPEAT()
Setelah REPEAT()

REVERSE(str)

Membalik karakter suatu string.

Fungsi ini berguna untuk mengembalikan str(string) dengan urutan karakter terbalik.

Sementara itu, Achmad Solichin menjelaskan bahwa, fungsi ini digunakan untuk membalik string.

Contoh:
SELECT 
REVERSE('una'),
REVERSE('edeg');

Ouput:
Setelah REVERSE()
Setelah REVERSE()

LCASE(str)

Kepanjangan dari Lower Case, yaitu sinonim dari LOWER(), berguna untuk mengembalikan str(string) dengan cara mengubahnya menjadi huruf kecil (small letter) sesuai dengan set mapping karakternya. Secara default adalah latin1 (1cp1252 Eropa Barat).

Sementara itu, Achmad Solichin menjelaskan bahwa, fungsi ini digunakan untuk mengubah string menjadi huruf kecil (lowercase).

Contoh:
SELECT 
LOWER('GATEWAN'),
LCASE('GATEWAN');

Output:
Setelah LCASE() dan LOWER()
Setelah LCASE() dan LOWER()

UCASE(str)

Kepanjangan dari Upper Case, yaitu sinonim dari UPPER(). berguna untuk mengembalikan str(string) dengan cara mengubahnya menjadi huruf besar (CAPITAL) sesuai dengan set mapping karakternya. Secara default adalah latin1 (1cp1252 Eropa Barat).

Sementara itu, Achmad Solichin menjelaskan bahwa, fungsi ini digunakan untuk mengubah string menjadi huruf besar (uppercase).

Contoh:
SELECT 
UPPER('wawan beneran'),
UCASE('wawan beneran');

Ouput:
Setelah UPPER() dan UCASE()
Setelah UPPER() dan UCASE()

Referensi:
  • https://dev.mysql.com/doc/refman/5.7/en/string-functions.html
  • Modul Praktikum Sistem Basis Data STMIK EL RAHMA, Oleh Wahyu Widodo
  • Buku MySQL5 Dari Pemula Hingga Mahir Karya Achmad Solichin

Posting Komentar

Lebih baru Lebih lama

نموذج الاتصال