Ternary Operator ในภาษาอื่น
(condition) ? valueIfTrue : valueIfFalse;
MySQL ไม่รองรับ Syntax นี้
ใช้ IF() แทน
IF(condition, valueIfTrue, valueIfFalse)
ตัวอย่าง
Case 1: 3 > 5 (False)
mysql> SELECT IF(3 > 5, 'Condition is true', 'Condition is not true') AS ConditionalResult;
+-----------------------+ | ConditionalResult | +-----------------------+ | Condition is not true | +-----------------------+
Case 2: 3 < 5 (True)
mysql> SELECT IF(3 < 5, 'Condition is true', 'Condition is not true') AS ConditionalResult;
+-------------------+ | ConditionalResult | +-------------------+ | Condition is true | +-------------------+
ฟังก์ชันเงื่อนไขอื่นๆ
CASE WHEN ... THEN ... ELSE ... END: หลายเงื่อนไขCOALESCE(val1, val2, ...): คืนค่าแรกที่ไม่ใช่ NULLNULLIF(val1, val2): คืน NULL ถ้า val1=val2
CASE Example:
SELECT CASE
WHEN score >= 90 THEN 'A'
WHEN score >= 80 THEN 'B'
WHEN score >= 70 THEN 'C'
ELSE 'F'
END AS Grade FROM students;