1. Konsep Dasar Fungsi CAST
Apa itu Fungsi CAST
Fungsi CAST di MySQL adalah fungsi SQL untuk mengubah tipe data. Fungsi ini digunakan ketika ingin mengonversi sebuah ekspresi ke tipe lain. Dengan CAST, Anda dapat mengubah string menjadi bilangan bulat, atau mengubah tipe tanggal menjadi string. Dalam pengelolaan database, fungsi ini sering digunakan untuk menjaga konsistensi tipe data, sehingga menjadi alat yang sangat berguna.
Kegunaan Utama Fungsi CAST
Fungsi CAST memiliki banyak kegunaan, terutama pada situasi berikut:
- Normalisasi Data: Digunakan untuk menyamakan format data yang berbeda. Misalnya, ketika ingin menyeragamkan format tanggal yang disimpan dalam tabel.
- Konversi Tipe Data: Mengubah bilangan bulat menjadi string atau sebaliknya, sehingga menyesuaikan tampilan maupun perhitungan data.
SELECT CAST('2023-09-22' AS DATE);
Perbedaan CAST dengan Konversi Tipe Data Lain
CAST mirip dengan fungsi konversi lain di MySQL (misalnya CONVERT
), tetapi perbedaannya adalah CAST mengikuti standar SQL dan didukung oleh lebih banyak database. Sementara itu, CONVERT
merupakan fitur khusus MySQL yang sering digunakan untuk konversi karakter set.
2. Sintaks dan Cara Penggunaan Fungsi CAST
Sintaks Fungsi CAST
Sintaks dasar CAST adalah sebagai berikut:
CAST(ekspresi AS tipe_data)
Pada sintaks ini, ekspresi adalah nilai yang ingin dikonversi, sedangkan tipe_data adalah tipe data tujuan konversi.
Contoh Penggunaan CAST
- Konversi ke Integer: Digunakan untuk mengubah string menjadi bilangan bulat.
SELECT CAST('123' AS SIGNED);
- Konversi ke String: Digunakan untuk mengubah angka menjadi teks.
SELECT CAST(123 AS CHAR);
Penanganan Error
Jika nilai yang tidak valid dimasukkan ke dalam tipe data tujuan, fungsi CAST bisa menimbulkan error. Misalnya, mencoba mengonversi 'abc'
menjadi angka akan gagal. Untuk menghindari hal ini, disarankan menggunakan kombinasi dengan IFNULL
atau fungsi kondisi lain.
3. Tipe Data yang Sering Digunakan dan Contoh Konversinya
Skenario Umum Konversi Tipe Data
CAST biasanya digunakan untuk mengonversi ke tipe data berikut:
- INT: Mengonversi nilai ke bilangan bulat.
- VARCHAR: Mengonversi angka atau tanggal menjadi string.
- DATE: Mengonversi string atau angka menjadi tanggal.
Konversi ke INT
SELECT CAST('456' AS SIGNED);
Contoh ini mengubah string '456'
menjadi integer.
Konversi ke VARCHAR
SELECT CAST(456 AS CHAR);
Contoh mengubah angka menjadi string. Berguna saat ingin menampilkan data dalam format tertentu.
Konversi ke DATE
SELECT CAST('2024-01-01' AS DATE);
Contoh mengubah string menjadi tipe tanggal, sehingga dapat digunakan untuk operasi tanggal selanjutnya.

4. Hal yang Perlu Diperhatikan & Best Practice dalam CAST
Poin Penting dalam Penggunaan CAST
Beberapa hal yang harus diperhatikan saat menggunakan CAST:
- Kompatibilitas Tipe: Konversi yang tidak valid dapat menyebabkan error, jadi pastikan kompatibilitas tipe data sebelum menggunakannya.
- Kehilangan Presisi: Saat mengonversi angka desimal atau floating point, bisa terjadi hilangnya presisi data.
Best Practice
- Gunakan DECIMAL: Untuk menjaga presisi angka desimal, gunakan tipe DECIMAL saat melakukan konversi.
SELECT CAST(123.456 AS DECIMAL(5,2));
- Tambahkan Penanganan Error: Gunakan
IFNULL
atauCASE
untuk menangani data tidak valid.
5. Perbedaan CAST dengan CONVERT
Perbandingan CAST dan CONVERT
Keduanya digunakan untuk konversi data, tetapi memiliki sintaks dan fungsi yang berbeda.
- CAST: Umum digunakan di SQL standar, sintaksnya
CAST(ekspresi AS tipe_data)
. - CONVERT: Khusus MySQL, sintaksnya
CONVERT(ekspresi, tipe_data)
.
Contoh Penggunaan CONVERT
CONVERT biasanya dipakai untuk mengubah set karakter.
SELECT CONVERT('abc' USING utf8);
Contoh ini mengonversi string ke dalam set karakter berbeda.
Mana yang Sebaiknya Digunakan?
Sebagian besar kasus disarankan menggunakan CAST karena kompatibilitas lebih luas. Namun, jika perlu mengubah karakter set, gunakan CONVERT.
6. Contoh Praktis Penggunaan CAST dalam Query
Contoh Manipulasi Data dengan CAST
Berikut contoh nyata penggunaan CAST pada query.
Mengonversi Angka ke String untuk Sorting
Misalnya, jika ingin mengubah angka ke string lalu melakukan sorting:
SELECT CAST(column_name AS CHAR) FROM table ORDER BY column_name;
Mengonversi String ke Angka untuk Filtering
Anda juga bisa mengubah string menjadi angka untuk memfilter data berdasarkan kondisi tertentu.
SELECT * FROM table WHERE CAST(column_name AS SIGNED) > 100;
7. Kesimpulan
Ringkasan Artikel
Fungsi CAST sangat berguna untuk mengonversi tipe data dengan efisien. Artikel ini membahas mulai dari dasar hingga contoh penggunaan praktis. Saat menggunakan CAST, selalu perhatikan kompatibilitas tipe data dan presisi, sehingga dapat mengelola data dengan lebih aman dan konsisten.