ကွန်ပျူတာများ, ဆော့ဖျဝဲ
ဖော်ပြချက်, အသုံးပြုမှုဥပမာ: SQL Coalesce
SQL-မေးမြန်းချက်ပြင်ဆင်နေသည့်အခါကအခါနမူနာ data တွေကိုသူတို့ထံမှမျိုးစုံကော်လံနှင့် output ကို၏တန်ဖိုးများကိုနှိုင်းယှဉ်ဖို့လိုအပ်သောအခါမကြာခဏအခြေအနေကို (ဗလာမပါ) ဒေတာများပါဝင်သည်သောပေါ်ပေါက်။ ဒါဟာဿုံစကားရပ် Coalesce ဤပြဿနာကိုဖြေရှင်းနိုင်ပါတယ်။ ဤဆောင်းပါး၌သငျသညျစကားရပ် Coalesce SQL, အသုံးပြုမှုများ၏ဖော်ပြချက်များနှင့်ဥပမာတစ်ခုအပြည့်အဝဖော်ပြချက်ရှာတွေ့ပါလိမ့်မယ်။
Coalesce နှင့်အတူ Non-ဗလာတန်ဖိုး output ။ အင်္ဂါရပ်များ
SQL Coalesce အထူးသဖြင့်အသုံးပြုမှုကိုစဉ်းစားကြည့်ပါ:
- ဒါဟာ (ဆင်ခြေများ၏အရေအတွက်ကန့်သတ်ထားတဲ့အတွက် Isnull / Nvl / Nvl2 မတူဘဲ) ငြင်းခုံမဆိုအရေအတွက်ကသတ်မှတ်ခွင့်ပြုပါတယ်။
- ဒါဟာတစ်ဦးအငြင်းအခုံ subqueries အဖြစ်ယူနိုင်ပါတယ်။
- တစ်ဦး Null တန်ဖိုးကိုထက်အခြားတွေ့ရှိနိုင်ပါသည်လျှင်ပြန်, တရားမဝင်သောသို့မဟုတ် Null ထက်အခြားတစ်ဦးပထမဦးဆုံးတန်ဖိုးညီမျှဖြစ်ပေါ်။
- SQL Coalesce (/ ခွင့်ပြု) ကို Select လုပ်ပါဝါကျ nonempty တန်ဖိုးများကိုရွေးဖို့အဖြစ်ကြောင့်အချည်းနှီးသောကော်လံ set ကိုတန်ဖိုးများကိုအခွင့်မရှိကြဘယ်မှာမွမ်းမံဖို့အသုံးပြုနိုင်ပါသည်။
- argument1 argument1 ထို့နောက်တရားမဝင်သောမဟုတ်ပါဘူးဘယ်အချိန်မှာယင်းစကားရပ်စကားရပ်ဖြစ်ရပ်မှန်၏အသုံးပြုမှုကိုညီမျှသည်အခြေအနေပေါ်တွင်ဆင့်ကဲတစ်ခုချင်းစီကိုအငြင်းအခုံစစ်တယ်။ တကယ်တော့, Coalesce အသုံးပြုမှုလွယ်ကူခြင်းအဘို့အဒီဇိုင်းရေးဆွဲတဲ့ "ဖြတ်လမ်း" ဖြစ်ပြီး, များစွာသောဒေတာဘေ့စမေးမြန်းမှုအတွက် optimizers စကားရပ်ဖြစ်ရပ်မှန် Coalesce ပြန်ရေး။
- 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