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.







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
coba ini deh :
select left(NIM,1) as kdfakultas,mid(NIM,2,2) as angkatan, right(NIM,3) as no_urut from tb_mhs where substring(NIM,2,2)=’03′
Thanks ya Lina… ini yang ku cari..
Mbak keren banget tutornya, ini yg saya cari. cz gak mudeng tentang substring
thanks ya
terima kasih banget mbak….setelah ribuan tahun berkelana akhirnya ketemu juga yg saya maksud….trima kasih atas ilmunya….
wassalam.
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