در قسمت از آموزش اوراکل در اوراکل نسخه ۹ بعد CASE در اوراکل همان if-then-else منطقی در SQL می باشد. که از نظر کارکرد خیلی شبیه ()DECODE می باشد. دلیل اینکه از CASE استفاده می کنیم این است که می توان از شرط های پیچیده استفاده کرد و از دستورات SQL با استاندارد SQL/92 استفاده کرد و به علاوه خواندن دستورات CASE نسبت به ()DECODE راحت تر است.

ما دو نوع CASE داریم :

  • Simple CASE که استفاده می کند برای کار روی مقدار خروجی.
  • Searched CASE که می تواند روی مقدار خروجی عبارت شرط های پیچیده بگذارید.

کار با Simple CASE

Simple CASE از عبارت های ثابت و معین برای ارزیابی و شرط استفاده کرده و درخروجی نمایش می دهد. ساختار دستور CASE در اوراکل به شکل زیر می باشد.

آموزش اوراکل 10
  • search_expression عبارتی است که مورد ارزیابی قرار می گیرد.
  • expression1, expression2, …, expressionN عبارت هایی هستند که با توجه به مقدار search_expression مورد ارزیابی قرار میگیرد و بررسی می شود. که اگر expression1 پس از ارزیابی برابر search_expression باید بنابراین مقدار result1 را در خروجی نمایش می دهد که این مورد برای مابقی موارد به همین شکل است.
  • مقدار default_result زمانی در خروجی نمایش داده می شود که هیچ کدام از شرط های expression1, expression2, …, expressionN برایر نباشد.
آموزش اوراکل11

کار با Searched CASE

شما می توانید از Searched CASE شرط های پیچیده و خاصی را مورد ارزیابی قرار دهید. که ساختار دستوری CASE در اوراکل آن به شکل زیر می باشد:

آموزش اوراکل12
  • عبارت های condition1, condition2, …, conditionN شروطی هستند که هر کدام مورد ارزیابی قرار می دهند.
  • result1, result2, …, resultN مقادیر خروجی هستند که نمایش داده می شوند که اگر مقدار condition1 برابر true باشد مقدار result1 را نمایش می دهد.
  • مقدار default_result را زمانی در خروجی نمایش می دهد که اگر تمامی شرط های عبارت مقدار False باشد.
آموزش اوراکل13

اطلاعات بیشتر در آموزش اوراکل : کارباعبارت CASE