ကွန်ပျူတာများဆော့ဖျဝဲ

ဖော်ပြချက်, အသုံးပြုမှုဥပမာ: SQL Coalesce

SQL-မေးမြန်းချက်ပြင်ဆင်နေသည့်အခါကအခါနမူနာ data တွေကိုသူတို့ထံမှမျိုးစုံကော်လံနှင့် output ကို၏တန်ဖိုးများကိုနှိုင်းယှဉ်ဖို့လိုအပ်သောအခါမကြာခဏအခြေအနေကို (ဗလာမပါ) ဒေတာများပါဝင်သည်သောပေါ်ပေါက်။ ဒါဟာဿုံစကားရပ် Coalesce ဤပြဿနာကိုဖြေရှင်းနိုင်ပါတယ်။ ဤဆောင်းပါး၌သငျသညျစကားရပ် Coalesce SQL, အသုံးပြုမှုများ၏ဖော်ပြချက်များနှင့်ဥပမာတစ်ခုအပြည့်အဝဖော်ပြချက်ရှာတွေ့ပါလိမ့်မယ်။

Coalesce နှင့်အတူ Non-ဗလာတန်ဖိုး output ။ အင်္ဂါရပ်များ

SQL Coalesce အထူးသဖြင့်အသုံးပြုမှုကိုစဉ်းစားကြည့်ပါ:

  1. ဒါဟာ (ဆင်ခြေများ၏အရေအတွက်ကန့်သတ်ထားတဲ့အတွက် Isnull / Nvl / Nvl2 မတူဘဲ) ငြင်းခုံမဆိုအရေအတွက်ကသတ်မှတ်ခွင့်ပြုပါတယ်။
  2. ဒါဟာတစ်ဦးအငြင်းအခုံ subqueries အဖြစ်ယူနိုင်ပါတယ်။
  3. တစ်ဦး Null တန်ဖိုးကိုထက်အခြားတွေ့ရှိနိုင်ပါသည်လျှင်ပြန်, တရားမဝင်သောသို့မဟုတ် Null ထက်အခြားတစ်ဦးပထမဦးဆုံးတန်ဖိုးညီမျှဖြစ်ပေါ်။
  4. SQL Coalesce (/ ခွင့်ပြု) ကို Select လုပ်ပါဝါကျ nonempty တန်ဖိုးများကိုရွေးဖို့အဖြစ်ကြောင့်အချည်းနှီးသောကော်လံ set ကိုတန်ဖိုးများကိုအခွင့်မရှိကြဘယ်မှာမွမ်းမံဖို့အသုံးပြုနိုင်ပါသည်။
  5. argument1 argument1 ထို့နောက်တရားမဝင်သောမဟုတ်ပါဘူးဘယ်အချိန်မှာယင်းစကားရပ်စကားရပ်ဖြစ်ရပ်မှန်၏အသုံးပြုမှုကိုညီမျှသည်အခြေအနေပေါ်တွင်ဆင့်ကဲတစ်ခုချင်းစီကိုအငြင်းအခုံစစ်တယ်။ တကယ်တော့, Coalesce အသုံးပြုမှုလွယ်ကူခြင်းအဘို့အဒီဇိုင်းရေးဆွဲတဲ့ "ဖြတ်လမ်း" ဖြစ်ပြီး, များစွာသောဒေတာဘေ့စမေးမြန်းမှုအတွက် optimizers စကားရပ်ဖြစ်ရပ်မှန် Coalesce ပြန်ရေး။
  6. SQL Coalesce လုပ်ဆောင်ချက်များကိုအားလုံးအဓိကဆက်ဆံရေးတွင်ရရှိနိုင်ပါသည် ဒေတာဘေ့စစီမံခန့်ခွဲမှုစနစ်များကို။

syntax Coalesce

အစဉ်အဆက် SQL-မေးမြန်းချက်ပြင်ဆင်နေအတွက် Coalesce ကိုအသုံးပြုထားပြီးသူမည်သူမဆို, ဟူသောအသုံးအနှုနျးမြား၏ syntax အလွန်ရိုးရှင်းတဲ့ကြောင်းကိုသိတယ်။ အဆိုပါအငြင်းပွားမှုများကော်မာရွေးချယ်ခွဲ ထား. Null များအတွက် check လုပ်ထားကြသည်ညွှန်ပြကွင်း၌လောက်။ ကျနော်တို့ကအငြင်းပွားမှုများအမည်များ, arg2 arg1 ဖြစ်ကြောင်းယူဆပါလျှင် ... argN, အောက်ပါအတိုင်း syntax ဖြစ်လိမ့်မည် Coalesce:

(arg1, arg2 ... argN) Coalesce ။

ဤအသုံးအနှုနျးမြား၏စစ်ဆင်ရေး၏ယန္တရားလေ့လာနေဘို့အနည်းငယ်ကိုစားပွဲပြင်ဆင်ပါ။

ပြင်ဆင်မှုစားပွဲပေါ်မှာ

ပိုကောင်း Coalesce SQL ဖော်ပြချက်နားလည်ရန်, ဒေတာဘေ့စဖန်တီးအိမ်ခြံမြေအပေါ်သတင်းအချက်အလက်များကိုအချက်အလက်များ၏ကျောက်ပြားနှစ်ပြားရှိပါတယ်။

ပထမဦးဆုံးစားပွဲအမည်များဧရိယာဂုဏ်သတ္တိများနှင့်၎င်းတို့၏နယ်မြေပါစေပါရှိသည်။ အဆိုပါဧရိယာ (area_yt) မွမ်းမံသို့မဟုတ် (area_decl) ကြေငြာနိုင်ပါသည်။

အိုင်ဒီ

object_name

area_yt

area_decl

1

အဆောက်အဦး 1

116,2

114

2

မပြီးဆုံးသေးသောဆောက်လုပ်ရေး 1

568

3

အခန်းထဲမှာ 1

64,7

4

အခန်းထဲမှာ 2

34,2

5

ကြံစည်မှု 1

112

111,6

6

1 ဆောက်လုပ်ရေး

7

အခန်းပေါင်း 3

27.9

8

2 ဆောက်လုပ်ရေး

37,2

36.4

9

အဆောက်အဦ 2

တိုးချဲ့မှု (အိတ်စတန်းရှင်း), အတိမ်အနက် (Depth), ဧရိယာ (ဧရိယာ), အသံအတိုးအကျယ် (Scope), အမြင့် (အမြင့်) - Basic_characteristic ကြကုန်အံ့ဒုတိယဇယားသည်ပစ္စည်းဥစ္စာပိုင်ဆိုင်မှု၏အဓိကလက္ခဏာများအပေါ်သတင်းအချက်အလက်များပါဝင်သည်။

အိုင်ဒီ

object_name

extension

အနက်

ဧရိယာ

scope

အမြင့်

1

အဆောက်အဦး 1

892,4

30 ရက်

2

အဆောက်အဦ 2

48

3

1 ဆောက်လုပ်ရေး

164,7

4

ကြံစည်မှု 1

5

အခန်းထဲမှာ 1

23.6

6

အခန်းထဲမှာ 2

34,7

7

အခန်းပေါင်း 3

19.8

ပြန်လည်သုံးသပ် Coalesce SQL syntax ဖော်ပြချက်, အသုံးပြုမှုနှင့်ဥပမာတိုက်ရိုက်ဆက်လက်ဆောင်ရွက်။

အသုံးပြုမှုဥပမာ

Coalesce စကားရပ်မှာ syntax အလွန်ရိုးရှင်းတဲ့ဖြစ်ပါသည်, သို့သော်အမိန့်၏ရလဒ်အငြင်းအခုံစာရင်းထဲတွင်တွေ့ရသောပထမဦးဆုံး Non-ဗလာတန်ဖိုးကိုဖြစ်လိမ့်မည်ဟုမေ့လျော့ဖို့မအရေးကြီးပါသည်။ ဤသည်လေ့လာရေးအလွန်အရေးကြီးပါသည်, ဒါအသုံးအနှုနျးအတွက်အငြင်းပွားမှုများအရေးပါမှု၏နိုင်ရန်အတွက်သတ်မှတ်ရပါမည်။ အာကာသစားပွဲ၏နိယာမကိုနားလည်သဘောပေါက်ရန်အလွယ်ကူဆုံးနည်းလမ်းဖြစ်သည်။ အိမ်ခြံမြေ၏အမည်ကိုရွေးချယ်တဲ့စုံစမ်းမှုအဖြစ်ဒေသ၏တန်ဖိုး Create:

Area.id, Area.object_name SELECT, (Area.area_yt, Area.area_decl) coalesce

ဧရိယာ FROM မှ

ထိုအခါရလဒ်ရ:

အိုင်ဒီ

object_name

Coalesce

1

အဆောက်အဦး 1

116,2

2

မပြီးဆုံးသေးသောဆောက်လုပ်ရေး 1

568

3

အခန်းထဲမှာ 1

64,7

4

အခန်းထဲမှာ 2

34,2

5

ကြံစည်မှု 1

112

6

1 ဆောက်လုပ်ရေး

7

အခန်းပေါင်း 3

27.9

8

2 ဆောက်လုပ်ရေး

37,2

9

အဆောက်အဦ 2

ကျွန်တော်ပထမဦးဆုံးအငြင်းအခုံများ၏စာရင်းထဲမှာထောက်ပြသကဲ့သို့, "ကြံစည်မှု 1" "1 တည်ဆောက်ခြင်း" စီမံကိန်းနှင့် "ဖွဲ့စည်းပုံ 2" အဘို့နှစ်ခုလုံးတန်ဖိုးစတုရန်းဖြည့်ဖြစ်ကြ၏ပေမယ့်ဧရိယာကိုဦးစားပေးစစ်ခဲ့ပါတယ်။ expression Coalesce ပထမဦးဆုံး Non-တရားမဝင်သောတန်ဖိုးကိုတွေ့နှင့်ထပ်မံကြည့်ရှုအငြင်းပွားမှုများကိုရပ်တန့်ထံသို့ဆောင်ခဲ့ကြ၏။ အဆိုပါမေးမြန်းချက်ကို၏ဤဆောက်လုပ်ရေး - ညာဘက်, ထိုကြေငြာခြင်းထက်ဘာဖြစ်လို့လဲဆိုတော့ပိုပြီးသန့်စင်ပြီးတိကျတဲ့ဧရိယာ။ ကျနော်တို့ကကြေငြာဧရိယာမှပထမဦးဆုံးအငြင်းအခုံအဖြစ်သတ်မှတ်ထားသောကြလျှင်စားပွဲ၏ဤလယ်ပြင်၌ဖြည့်တဲ့အခါမှာ, တကဦးစားပေးဖြစ်ရပြီလိမ့်မယ်။

လိုက်ပြီး Select အတွက်သုံးစွဲဖို့အပြင်မကြာခဏစကားရပ်အဘယ်မှာရှိအခွအေနေနှင့်အတူအသုံးပြုသည် Coalesce ။ ဒါဟာ (ထိုရလဒ်အတွက်လယ်ကွင်းစာရင်းဗလာဖြစ်နေသည်ဘယ်မှာသူတို့သာတန်ဖိုးများကိုထည့်သွင်းရန်, သို့မဟုတ်အပြန်အလှန်) သောလယ်ကွင်းများစာရင်း၏တန်ဖိုးများကိုအလွတ်သည့်အတန်း၏ရလဒ်မှပယ်ဖြတ်ဖို့ခွင့်ပြုပါတယ်။ ဥပမာအားဖြင့်, အကြောင်းသာအခြေခံသတင်းအချက်အလက်ရာ၌ဒေတာဘေ့စအသစ်တစ်ခုန်ထမ်းများ၏ဒီဇိုင်းနှင့်အတူလုပ်ငန်း၌၎င်း, "နောက်မှအတွက်" left အသေးစိတ်ဖြည့်ဆည်း: ဒီအခွအေနေနေရာတိုင်းတွင်တွေ့ရှိထားသည်။ တဖြည်းဖြည်းနဲ့က "ကွက်လပ်" ပေါ်ထွက်လာ - ဒါမှမဟုတ်စစ်ဆေးမှုများမတိုင်မီသို့မဟုတ်အားလပ်ရက် / စီးပွားရေးလုပ်ငန်းခရီးစဉ် / ဆေးရုံတခုတခုအပေါ်မှာဝန်ထမ်း၏ညှနျကွားမှာ။

စားပွဲကနေဝိသေသတန်ဖိုးများကိုအဘယ်သူအားမျှဖြေကြားခံရဖို့ရှိသည်သောဂုဏ်သတ္တိများ၏အဓိကလက္ခဏာများကို Select

အိုင်ဒီ SELECT, object_name

Basic_characteristic FROM မှ

coalesce (တိုးချဲ့မှု, အနက်, ဧရိယာ, Scope, အမြင့်) တရားမဝင်သောသည်အဘယ်မှာရှိ

ဤတောင်းဆိုမှုကိုအားဖြင့်စားပွဲတပွဲလည်းမရှိ - ထိုအရာဝတ္ထု "ကြံစည်မှု 1", အလွတ်၏ထားတဲ့အတွက်ဝိသေသလက္ခဏာများအားလုံးလယ်ကွင်း:

အိုင်ဒီ

object_name

4

ကြံစည်မှု 1

ကျွန်တော်တို့ရဲ့အသေးစိတ်ဖော်ပြချက် SQL သင်ဤစကားရပ်၏အသုံးပြုမှု၏အင်္ဂါရပ်အားလုံးနားလည်အကူအညီအဖြစ်အရေးကြီးသောတစ်ခုလုံးကိုပြည့်ပြည့်စုံစုံနှင့်အတူစာချုပ် Coalesce ကြောင်းမျှော်လင့်ပါတယ်။

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

Copyright © 2018 my.birmiss.com. Theme powered by WordPress.