Fungsi Substring di MySQL

MySQL sebagai salah satu RDBMS (Relational Database Management System) yang cukup banyak digunakan, menyediakan bahasa SQL yang cukup kompleks. Mungkin pada saat kuliah kita tidak membayangkan bahwa bahasa query bisa mendukung banyak hal dengan syntax yang banyak pula. Tapi setelah terjun ke dunia kerja, kita akan dituntut untuk menyelesaikan banyak kasus menggunakan bahasa SQL yang mungkin sebelumnya tidak pernah kita bayangkan.

Salah satu fungsi yang baru saya ketahui yaitu fungsi Substring yang digunakan untuk mengambil beberapa karakter (dari kanan, kiri atau tengah) sebuah data string dari tabel. Kalau di MS. Excel ada fungsi untuk mengambil karakter dari sebelah kiri (Left),kanan (Right) dan tengah (Mid), maka MySQL pun mempunyai fungsi-fungsi tersebut selain Substring tadi. Sehingga anda dapat memilih apakah anda mau menggunakan fungsi subtring(string,awal_posisi,jumlah_karakter) atau left(string,jumlah_karakter), right(string,jumlah_karakter) dan mid(string,awal_posisi,jumlah_karakter), sesuai dengan keperluannya.

Misalnya : kita ingin mengetahui fakultas, angkatan dan jenjang dari seorang mahasiswa yang diidentifikasi dari NIM nya. Digit pertama sebagai kode fakultas, 2 digit mulai digit kedua sebagai tahun angkatan dan tiga digit mulai digit kedelapan sebagai no urutnya.

Maka querynya adalah sebagai berikut.

Dengan substring :

select substring(NIM,1,1) as kdfakultas,substring(NIM,2,2) as angkatan, substring(NIM,8,3) as no_urut from tb_mhs where NIM=’3035111072′

Dengan left(), right(), dan mid() :

select left(NIM,1) as kdfakultas,mid(NIM,2,2) as angkatan, right(NIM,3) as no_urut from tb_mhs where NIM=’3035111072′

Semoga bermanfaat.

10 thoughts on “Fungsi Substring di MySQL

  1. Alo…
    Salam kenal yah…
    Sy mo nanya terkait dengan posting tsb…
    Gimana jika substring tsb dijadikan sebagai kriteria? misalnya
    sy ingin menampilkan data mahasiswa angkatan 03 sj. Sy coba query ini tapi kok gak bisa

    select left(NIM,1) as kdfakultas,mid(NIM,2,2) as angkatan, right(NIM,3) as no_urut from tb_mhs where angkatan=”03″

    Tolong pencerahannya yah….
    Trims

    Tiar
    http://www.websolusi.info

  2. terima kasih banget mbak….setelah ribuan tahun berkelana akhirnya ketemu juga yg saya maksud….trima kasih atas ilmunya….

    wassalam.

  3. saya coba SUBSTR(nama_kolom,0,15)
    yg mana isi dari nama_kolom adalah CHAR
    resultnya malah spasi semua😀

    kalo saya pake
    LEFT(nama_kolom,15) barulah dapat

    kok bisa gitu?
    info : on MySQL

  4. misi mbak, kalau ambil satu kata gmn ya, misal ambil nama kemudian yg tampil adalah :
    anton herman –> anton
    anton warsito –>anton
    lusi qodriyah –> lusi
    lusi –> lusi
    joko susilo dermawan –> joko
    mohon pencerahannya

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s