اوراکل اپکس-COALESCE oracle

 

فانكشن COALESCE در اوراکل

بدين صورت تلفظ مي شود(كو-اِ-لِس).
جايگزين بسيار خوب به جاي فانكشن NVL در اوراکل می باشد و در بعضي مواقع بجاي دستور (Case When)
عبارت دستوري:
Oracle function:
COALESCE ("expression 1", "expressions 2", ...)
  • بدين صورت است كه اگر عبارت اول null بود عبارت دوم و اگر عبارت دوم null بود عبارت سوم و …
  • استفاده از فانكشن بعنوان عبارت در اوراکل.
  • داراي Performance خوب.
  • نوع Type هاي عبارتها بايد شبيه هم باشد. اگر نبود از توابع To_Char,To_Number, … استفاده كنيد.
براي درك بهتر با مثال بيان مي كنم
1)
SELECT COALESCE(NULL, NULL, '3') FROM dual
Result : 3
2)
SELECT COALESCE(exp1 , To_Char(FNC(P_TEST)) FROM dual
مثال : استفاده بجاي Case When در اوراکل در زیر نشان داده شده است.
SELECT CASE ("column_name")
WHEN "expression 1 is not NULL" THEN "expression 1"
WHEN "expression 2 is not NULL" THEN "expression 2"
...
[ELSE "NULL"] END
FROM "table_name";
Table Contact_Info
Name Business_Phone Cell_Phone Home_Phone
Jeff 531-2531 622-7813 565-9901
Laura NULL 772-5588 312-4088
Peter NULL NULL 594-7477
3)
SELECT Name,COALESCE (Business_Phone, Cell_Phone, Home_Phone) Contact_Phone FROM Contact_Info;
Result:
Name Contact_Phone
Jeff 531-2531
Laura 772-5588
Peter 594-7477

 

 

4.5/5 - (2 امتیاز)

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

این قسمت نباید خالی باشد
این قسمت نباید خالی باشد
لطفاً یک نشانی ایمیل معتبر بنویسید.

keyboard_arrow_up
Oracle APEX Capabilities (OAC)