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

การดำเนินการแบบ Ternary มีอยู่ใน MySQL เช่นเดียวกับ C หรือ C ++ หรือไม่


ใช่ ให้เราดูการทำงานของตัวดำเนินการ ternary ในภาษา C หรือ C++ ก่อน

X=(X> 10 &&( X-Y) <0) ?:X:(X-Y);

นี่คือรหัสสาธิตในภาษา C หลังจากนั้นเราจะตรวจสอบใน MySQL รหัส C มีดังต่อไปนี้ -

#include int main() { int X; int Y; ผลลัพธ์ int; printf("ป้อนค่าสำหรับ X:"); scanf("%d",&X); printf("ป้อนค่าสำหรับ Y:"); scanf("%d",&Y); ผลลัพธ์=( X> 1 &&(X-Y) <0) ? X:(X-Y); printf("ผลลัพธ์คือ=%d",ผลลัพธ์); คืนค่า 0;}

ภาพรวมของรหัส C มีดังต่อไปนี้ -

การดำเนินการแบบ Ternary มีอยู่ใน MySQL เช่นเดียวกับ C หรือ C ++ หรือไม่

ต่อไปนี้เป็นผลลัพธ์ -

การดำเนินการแบบ Ternary มีอยู่ใน MySQL เช่นเดียวกับ C หรือ C ++ หรือไม่

ไวยากรณ์สำหรับการดำเนินการแบบไตรภาคของ MySQL มีดังต่อไปนี้ -

เลือกกรณีเมื่อ yourtableAliasName.yourColumnName1> 1 AND(yourtableAliasName.yourColumnName1-yourtableAliasName.yourColumnName2) <0 THEN0 ELSE (yourtableAliasName.yourColumnName1-yourtableAliasName.yourColumnName2)END AS anyAliasName yourtable จาก yourTs 

เพื่อให้เข้าใจไวยากรณ์ข้างต้นสำหรับการดำเนินการ Trenary ให้เราสร้างตาราง แบบสอบถามเพื่อสร้างตารางมีดังนี้ −

mysql> สร้างตาราง TernaryOperationDemo -> ( -> X int, -> Y int -> ); ตกลง ตกลง 0 แถวได้รับผลกระทบ (0.61 วินาที)

แทรกบางระเบียนในตารางโดยใช้คำสั่งแทรก แบบสอบถามมีดังนี้ −

mysql> แทรกลงในค่า TernaryOperationDemo (10,5); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.14 วินาที) mysql> แทรกลงในค่า TernaryOperationDemo (5,15); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.16 วินาที) mysql> แทรก ลงในค่า TernaryOperationDemo (20,15); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.15 วินาที) mysql> แทรกลงในค่า TernaryOperationDemo (15,25); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.13 วินาที) mysql> แทรกลงในค่า TernaryOperationDemo (10, -11);แบบสอบถามตกลง ได้รับผลกระทบ 1 แถว (0.15 วินาที)

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

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

ต่อไปนี้เป็นผลลัพธ์ -

<ก่อนหน้า>+------+------+| X | Y |+------+------+| 10 | 5 || 5 | 15 || 20 | 15 || 15 | 25 || 10 | -11 |+------+------+5 แถวในชุด (0.00 วินาที)

นี่คือแบบสอบถามสำหรับการดำเนินการไตรภาค -

mysql> เลือกกรณีเมื่อ tbl.X> 1 AND (tbl.X-tbl.Y) <0 แล้ว 0 ELSE (tbl.X-tbl.Y) END ASResult จาก TernaryOperationDemo tbl;

ต่อไปนี้เป็นผลลัพธ์ -

<ก่อนหน้า>+---------+| ผลลัพธ์ |+---------+| 5 || 0 || 5 || 0 || 21 |+-------+5 แถวในชุด (0.00 วินาที)