SUBSTRING di SQL

Mengambil sebagian teks mulai dari posisi tertentu, sepanjang jumlah karakter tertentu.

Penjelasan sederhana

SUBSTRING mengambil sebagian teks. Kamu menentukan mulai dari karakter ke berapa, dan berapa karakter yang diambil. Sama dengan rumus MID di Excel.

Posisi dihitung mulai dari 1, bukan 0. Jadi SUBSTRING('Jakarta', 1, 4) menghasilkan "Jaka".

Sintaks

SUBSTRING(teks, posisi_awal, panjang)
BagianKeterangan
posisi_awalMulai dari karakter ke berapa. Karakter pertama = 1.
panjangBanyaknya karakter yang diambil.

Tanda [kurung siku] berarti bagian opsional. Kata kunci SQL tidak membedakan huruf besar-kecil, tapi menulisnya dengan huruf besar membuat query lebih mudah dibaca.

Contoh SUBSTRING

Data contoh: karyawan

Tabel karyawan

idnamadept_idkotagajitgl_masukatasan_id
1 Andi Pratama 3 Bandung 12500000 2019-03-11 NULL
2 Bunga Lestari 1 Jakarta 9800000 2020-07-01 NULL
3 Candra Wijaya 3 Bandung 8200000 2021-02-15 1
4 Dewi Anggraini 2 Jakarta 7500000 2022-05-09 6
5 Eko Saputra 1 Jakarta 6900000 2023-01-16 2
6 Fajar Nugroho 2 Surabaya 11000000 2018-09-03 NULL
7 Gita Permata 3 Jakarta 8200000 2023-08-21 1
8 Hendra Gunawan NULL Medan 5500000 2024-04-02 NULL
query.sql
SELECT tgl_masuk,
       SUBSTRING(tgl_masuk, 1, 4) AS tahun
FROM karyawan
LIMIT 3;
>_ Jalankan & ubah query ini di browser

Hasil 3 baris

tgl_masuktahun
2019-03-11 2019
2020-07-01 2020
2021-02-15 2021

Mengambil 4 karakter pertama dari teks tanggal, yaitu tahunnya.

Cara kerjanya, langkah demi langkah

  1. FROM karyawan: data tanggal masuk diambil, misalnya "2019-03-11".
  2. SUBSTRING(tgl_masuk, 1, 4): mulai dari karakter pertama, diambil 4 karakter.
  3. Hasilnya "2019", yaitu tahunnya saja. LIMIT 3 menampilkan 3 baris pertama.

Dipakai untuk apa di kantor?

  • Mengambil kode cabang dari 3 huruf pertama nomor transaksi.
  • Mengambil tahun atau bulan dari tanggal yang disimpan sebagai teks.
  • Menyamarkan data, misalnya hanya menampilkan 4 digit terakhir nomor HP.

Kesalahan yang sering terjadi

  • Mengira posisi dimulai dari 0 seperti di beberapa bahasa pemrograman. Di SQL dimulai dari 1.
  • Memakai SUBSTRING untuk kolom bertipe tanggal asli (DATE). Lebih tepat pakai EXTRACT.
Progres bab Fungsi Teks, Angka & Tanggal 0/9 dipelajari
Lanjut: TRIM

Belajar SQL bareng mentor

Hafal sintaks itu mudah. Menjawab pertanyaan bisnis, itu skill.

Private Class Python & SQL untuk Data: dari query dasar sampai JOIN dan studi kasus kerja, dengan kurikulum dan jadwal yang menyesuaikan kamu.

Lihat Private Class