1.1 รายการฟังก์ชันเงื่อนไข
ภาษา SQL มีรายการฟังก์ชันที่ค่อนข้างคล้ายกับโอเปอเรเตอร์if-else
ในswitch
Java
มีทั้งหมด 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