ฟังก์ชัน CASE ER
ฟังก์ชัน CASE
ประเมินค่าของนิพจน์ที่ระบุกับตัวเลือกอื่นที่ระบุและส่งกลับผลลัพธ์ของตัวเลือกแรกที่เท่ากับค่าของนิพจน์ที่ระบุ มิฉะนั้นจะส่งกลับผลลัพธ์เริ่มต้นที่เป็นตัวเลือกหากมีการระบุผลลัพธ์เริ่มต้นเป็นอาร์กิวเมนต์สุดท้ายของฟังก์ชันที่เรียกว่าไม่ได้นำหน้าด้วยตัวเลือก ค่าที่ถูกส่งกลับอาจเป็นค่าใดๆ ของชนิดข้อมูลที่ได้รับการสนับสนุน
ไวยากรณ์
CASE (expression, option 1, result 1[, option 2, result 2, …, option N, result N, default result])
อาร์กิวเมนต์
expression
: ชนิดข้อมูลดั้งเดิม (บูลีน ตัวเลข หรือข้อความ)
นิพจน์ที่ถูกต้องที่ส่งกลับค่าของชนิดข้อมูลดั้งเดิม
option 1
: ชนิดข้อมูลดั้งเดิม (บูลีน ตัวเลข หรือข้อความ)
นิพจน์ที่ถูกต้องที่ส่งกลับค่าของชนิดข้อมูลดั้งเดิมเดียวกันเป็นอาร์กิวเมนต์ expression
ของฟังก์ชันที่เรียก ต้องระบุอาร์กิวเมนต์นี้
result 1
: ชนิดข้อมูลใดๆ ที่ได้รับการสนับสนุน
ผลลัพธ์ที่ส่งกลับที่สอดคล้องกับตัวเลือกก่อนหน้านี้ ต้องระบุอาร์กิวเมนต์นี้
option N
: ชนิดข้อมูลดั้งเดิม (บูลีน ตัวเลข หรือข้อความ)
นิพจน์ที่ถูกต้องที่ส่งกลับค่าของชนิดข้อมูลดั้งเดิมเดียวกันเป็นอาร์กิวเมนต์ expression
ของฟังก์ชันที่เรียก อาร์กิวเมนต์นี้ไม่จำเป็น
result N
: ชนิดข้อมูลใดๆ ที่ได้รับการสนับสนุน
ผลลัพธ์ที่ส่งกลับที่สอดคล้องกับตัวเลือกก่อนหน้านี้ อาร์กิวเมนต์นี้ไม่จำเป็น
default result
: ชนิดข้อมูลใดๆ ที่ได้รับการสนับสนุน
ผลที่ควรจะถูกส่งกลับถ้าไม่มีการจับคู่ อาร์กิวเมนต์นี้ไม่จำเป็น
ค่าที่ส่งคืน
ชนิดข้อมูลใดๆ ที่ได้รับการสนับสนุน
ค่าผลลัพธ์ของชนิดข้อมูลใดๆ ที่ได้รับการสนับสนุน
บันทึกย่อการใช้งาน
มีข้อยกเว้นเมื่อรันไทม์ถ้าไม่มีการจับคู่และไม่ได้กำหนดผลลัพธ์เริ่มต้นที่เป็นตัวเลือก
อาร์กิวเมนต์ทั้งหมดต้องถูกระบุและโดยใช้ชนิดข้อมูลเดียวกัน มีข้อยกเว้นเกิดขึ้นในเวลาออกแบบถ้าชนิดข้อมูลของผลลัพธ์ที่ถูกกำหนดค่าไม่ตรงกัน
ถ้าค่าผลลัพธ์แรกและค่าผลลัพธ์ที่ N คือค่าของชนิดข้อมูลของ คอนเทนเนอร์ (เรกคอร์ด) หรือชนิดข้อมูล รายการเรกคอร์ด ผลลัพธ์จะมีเฉพาะฟิลด์ที่มีอยู่ในค่าทั้งสองเท่านั้น
ตัวอย่าง
CASE( DATETIMEFORMAT( NOW(), "MM"), "10", "WINTER", "11", "WINTER", "12", "WINTER", "")
ส่งกลับสตริง "WINTER" ถ้าวันที่รอบเวลาของแอปพลิเคชันปัจจุบันอยู่ระหว่างเดือนตุลาคมและเดือนธันวาคม มิฉะนั้น ส่งกลับสตริงที่ว่างเปล่า