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

แบบสอบถาม MySQL เพื่อคืนค่า TRUE สำหรับแถวที่มีค่าบวก?


หากต้องการคืนค่า TRUE สำหรับค่าบวกและ FALSE สำหรับค่าลบ ให้ใช้ MySQL IF() ให้เราสร้างตารางก่อน -

mysql> สร้างตาราง DemoTable2038 -> ( -> Id int ไม่ใช่ NULL AUTO_INCREMENT คีย์หลัก -> ค่า int -> ); ตกลง ตกลง 0 แถวได้รับผลกระทบ (0.87 วินาที)

แทรกระเบียนบางส่วนในตารางโดยใช้คำสั่ง insert -

mysql> แทรกลงในค่า DemoTable2038(Value) (57); ตกลง สืบค้น 1 แถวได้รับผลกระทบ (0.18 วินาที)mysql> แทรกลงในค่า DemoTable2038(Value) (-100); ตกลง ตกลง 1 แถวได้รับผลกระทบ (0.12 วินาที) )mysql> แทรกลงในค่า DemoTable2038(Value) (-78); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.42 วินาที) mysql> แทรกลงในค่า DemoTable2038 (ค่า) (78); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.11 วินาที) mysql> แทรกลงในค่า DemoTable2038(Value) (91); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.09 วินาที) mysql> แทรกลงในค่า DemoTable2038 (ค่า) (-34); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.14 วินาที)

แสดงระเบียนทั้งหมดจากตารางโดยใช้คำสั่ง select -

mysql> เลือก *จาก DemoTable2038;

สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -

<ก่อนหน้า>+----+-------+| รหัส | ความคุ้มค่า |+---+-------+| 1 | 57 || 2 | -100 || 3 | -78 || 4 | 78 || 5 | 91 || 6 | -34 |+----+-------+6 แถวในชุด (0.00 วินาที)

นี่คือข้อความค้นหาที่จะคืนค่าจริงสำหรับแถวที่มีค่าบวก -

mysql> เลือก *,if(Value> 0,true,false) เป็นผลลัพธ์จาก DemoTable2038;

สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -

<ก่อนหน้า>+----+-------+-------+| รหัส | ความคุ้มค่า | ผลลัพธ์ |+----+-------+-------+| 1 | 57 | 1 || 2 | -100 | 0 || 3 | -78 | 0 || 4 | 78 | 1 || 5 | 91 | 1 || 6 | -34 | 0 |+----+-------+-------+6 แถวในชุด (0.00 วินาที)