Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MySQL

ทำไมไม่แนะนำให้ผสมค่าที่มีเครื่องหมายคำพูดและไม่มีเครื่องหมายคำพูดในรายการของฟังก์ชัน IN() ใน MySQL


MySQL มีกฎการเปรียบเทียบที่แตกต่างกันสำหรับค่าที่มีเครื่องหมายคำพูด เช่น สตริง และค่าที่ไม่มีเครื่องหมายคำพูด เช่น ตัวเลข การผสมค่าที่มีและไม่มีเครื่องหมายคำพูดในรายการของฟังก์ชัน IN() อาจนำไปสู่ชุดผลลัพธ์ที่ไม่สอดคล้องกัน ตัวอย่างเช่น เราไม่ควรเขียนคำสั่งกับฟังก์ชัน IN() เหมือนด้านล่าง:

Select Salary from employee where ID IN(1,'a',2,3,'c')

แทนที่จะเป็นเช่นนั้น วิธีที่ดีกว่าในการเขียนคำสั่งข้างต้นคือดังนี้:

Select Salary from employee where ID IN('1','a','2','3','c')