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

 

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

بدین صورت تلفظ می شود(کو-اِ-لِس).
جایگزین بسیار خوب به جای فانکشن NVL در اوراکل می باشد و در بعضی مواقع بجای دستور (Case When)
عبارت دستوری:
Oracle function:
COALESCE ("expression 1", "expressions 2", ...)
  • بدین صورت است که اگر عبارت اول null بود عبارت دوم و اگر عبارت دوم null بود عبارت سوم و …
  • استفاده از فانکشن بعنوان عبارت در اوراکل.
  • دارای Performance خوب.
  • نوع Type های عبارتها باید شبیه هم باشد. اگر نبود از توابع To_Char,To_Number, … استفاده کنید.
برای درک بهتر با مثال بیان می کنم
۱)
SELECT COALESCE(NULL, NULL, '3') FROM dual
Result : 3
۲)
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
۳)
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 - (1 امتیاز)

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

نشانی ایمیل شما منتشر نخواهد شد.

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

فهرست
Oracle APEX Capabilities (OAC)