1.1 รายการฟังก์ชันเงื่อนไข
ภาษา SQL มีรายการฟังก์ชันที่ค่อนข้างคล้ายกับโอเปอเรเตอร์if-elseในswitchJava
มีทั้งหมด 4 ฟังก์ชั่นดังกล่าว:
| ฟังก์ชั่น | คำอธิบาย | |
|---|---|---|
| 1 | กรณี | สวิตช์อะนาล็อก |
| 2 | ถ้า() | อะนาล็อกของตัวดำเนินการ ternary หรือ if-else |
| 3 | IFNULL() | อะนาล็อกของ if-else |
| 4 | โมลลิฟ() | อะนาล็อกของ if-else |
สามตัวสุดท้ายใน SQL แสดงเป็นฟังก์ชันและCASEเป็นตัวดำเนินการที่สมบูรณ์ ดังนั้นเราจะพิจารณาแยกกันในตอนท้ายสุด
1.2 ฟังก์ชัน IF()
ฟังก์ชันIF()ใน SQL ค่อนข้างคล้ายกับตัวดำเนินการแบบไตรภาคใน Java ในภาษา SQL จะใช้ 3 พารามิเตอร์และมีลักษณะดังนี้:
IF (condition, true, false)
ต้องส่งสามนิพจน์ ไปยังฟังก์ชันIF:
- เงื่อนไขที่ทดสอบความจริง
- นิพจน์ที่ส่งคืนเมื่อเงื่อนไขเป็นจริง
- นิพจน์ที่ส่งคืนเมื่อเงื่อนไขเป็นเท็จ
ด้านล่างนี้ฉันจะให้ตัวอย่างเพื่อให้ง่ายต่อการเข้าใจวิธีการทำงาน:
| ขอ | ผลลัพธ์ | |
|---|---|---|
| 1 | เลือกหาก( 1>2 , 2, 3) | 3 |
| 2 | เลือก IF( 1<2 , 'ใช่', 'ไม่') | 'ใช่' |
| 3 | เลือก IF( STRCMP('test','test1' ), 'no', 'yes') | 'เลขที่' |
1.3 ฟังก์ชัน IFNULL() และ NULLIF()
IF()นอกจากนี้ยังมีการ แก้ไขสองฟังก์ชัน
การแก้ไขแรกคือIFNULL()ฟังก์ชัน ใช้เวลาเพียงสองค่า:
IFNULL (expression 1, expression 2)
ถ้าexpression1ไม่เท่ากับNULLฟังก์ชันจะส่งกลับexpression1 ถ้าexpression1 IS NULL,ฟังก์ชันจะคืนค่าexpression2 NULLสาระสำคัญคือการแทนที่ค่าเริ่มต้นเมื่อ ฟิลด์เท่ากับ
การแก้ไขที่สองของฟังก์ชันIFคือฟังก์ชันNULLIF()มันยังรับค่าสองค่า:
NULLIF (expression 1, expression 2)
มันทำงานในทิศทางตรงกันข้าม:
- ถ้าexpression1เท่ากับexpression2ฟังก์ชันจะคืนค่า
NULL; - ถ้านิพจน์ไม่เท่ากัน จะ ส่ง กลับexpression1
GO TO FULL VERSION