Mengatasi "Warning #1292 truncated incorrect double value sql"

Saya sedang membuat fitur pencarian menggunakan query SQL untuk menampung dan membuat statement query yang saya mau dan saya perlukan. Saya mencobanya dengan langsung menuliskan query di baris kode aplikasi, dan mengeksekusi query tersebut. Apa yang terjadi? hasil pencarian tidak memuaskan. Sebuah artikel yang memiliki kata atau karakter yang saya cari, tidak tampil dihasil pencarian. Pasti ada kesalahan?! pikir saya. 

Akhirnya saya mencoba untuk menjalankan query tersebut di phpmyadmin -> SQL. Walhasil tampil seperti layaknya hasil di aplikasi, tetapi, saya mendapatkan hasil galat tersebut dari eksekusi query berikut :

Warning #1292 truncated incorrect double value sql


Notifikasi galat setelah eksekusi query

Apa tujuan saya melakukan query tersebut? saya ingin mencari dan menyaring artikel berdasarkan karakter, dari dua kolom dan terletak pada tabel yang sama. Dengan struktutrtipe data VARCHAR (100) dan satu lagi TEXT.

Bagaiman querynya sehingga menghasilkan galat seperti diatas? berikut querynya : 

SELECT * FROM catatan WHERE judul OR catatan LIKE '%asd%';

 
Query dan hasil dari eksekusi di SQL PHPMyAdmin.

Pada jendela SQL, menampilkan hasil dan galat seperti diatas. Sedangkan diaplikasi, tidak ada galat yang tampil. Namun hasil tidak sesuai yang diinginkan. Padahal karakter yang dicari di dua kolom, yaitu judul dan catatan, ada. Saya berpikir untuk mengubah tipe data, karena asumsi saya, pencarian pada 2 tipe data yang berbeda tidak akan berhasil. Tapi saya mengurungkan niat tersebut dan mencoba untuk mengganti sedikit statement query yang bermasalah tersebut. Saya mengganti query menjadi :

SELECT * FROM catatan WHERE catatan.judul LIKE '%asd%' OR catatan.catatan LIKE '%asd%'

Galat hilang, dan hasil pencarian seperti yang saya inginkan.

Query dan hasil setelah eksekusi.

Kesimpulan

Apa yang saya dapatkan dari kejadian tersebut? Baik, query pertama memiliki artian sebagai berikut : (Pilih semua yang ada di tabel catatan, dimana data judul atau data catatan memiliki karakter 'asd';

Sementara query kedua yang mana adalah benar dan berjalan dengan baik. Memiliki artian (Pilih semua dari tabel catatan, dimana judul catatan memiliki karakter atau kata 'asd' atau isi catatan memiliki karakter atau kata 'asd'.

Dengan begitu maka hasil cari dari dua kolom yang berbeda namun masih dalam satu tabel, akan menghasilkan output atau keluaran yang presisi dan benar.

Posting Komentar

Lebih baru Lebih lama