SQL NULL ပြောင်းလဲ
- အရေးပါသော စာရင်း SQL Nulls
- နောက်လိုက် စာရင်း SQL ရှိကြောင်း
SQL ISNULL()、NVL()、IFNULL() နှင့် COALESCE() သုံးစွဲမှု
အောက်ပါ "Products" အချက်အလက်ကို ကြည့်ပါ:
P_Id | ProductName | UnitPrice | UnitsInStock | UnitsOnOrder |
---|---|---|---|---|
1 | ကွန်ပျူတာ | 699 | 25 | 15 |
2 | စက် | 365 | 36 | |
3 | ဖုန်း | 280 | 159 | 57 |
အကယ်၍ "UnitsOnOrder" ကို ဆိုင်းငံ့ နှင့် NULL အကျိုးမရှိသည့် အသုံးပြုနိုင်ပါသည်။
ကျမ်းသားများကိုက်ထဲပါတယ်:
SELECT ProductName,UnitPrice*(UnitsInStock+UnitsOnOrder) FROM Products
အပေါ်တွင် အရာဝတ္တု "UnitsOnOrder" သည် NULL ဖြစ်လျှင် အရိုက် သည် NULL ဖြစ်သည်။
မိုက်ခရိုဆိုင်း၏ ISNULL() ပုံစံ သည် NULL အရာဝတ္တု ကို ပြုလုပ်ခြင်း အတွက် အသုံးပြုသည်။
NVL(), IFNULL() နှင့် COALESCE() ပုံစံ တို့သည် အတူတူ ရရှိနိုင်ပါသည်။
အောက်မှာ ကျွန်တော်တို့သည် NULL အရာဝတ္တု ကို 0 အားဖြင့် ပြန်လည်ပေးလိုက်ပါသည်။
အောက်မှာ အရာဝတ္တု "UnitsOnOrder" သည် NULL ဖြစ်လျှင် အစီရင်ခံခြင်း အတွက် အကျိုးသား မဟုတ်ပေ။ အရာဝတ္တု သည် NULL ဖြစ်လျှင် ISNULL() သည် 0 ကို ပြန်လည်ပေးသည်။
SQL Server / MS Access
SELECT ProductName,UnitPrice*(UnitsInStock+ISNULL(UnitsOnOrder,0)) FROM Products
Oracle
Oracle တွင် ISNULL() ပုံစံ မရှိပါဘူး။ သို့သော် သူ၏ လုပ်ဆောင်ခြင်း သည် NVL() ပုံစံ ကို အသုံးပြုနိုင့် ပြီး အတူတူ ရရှိနိုင်ပါသည်။
SELECT ProductName,UnitPrice*(UnitsInStock+NVL(UnitsOnOrder,0)) FROM Products
MySQL
MySQL သည် ISNULL() ပုံစံ ကို ရှိပါသည်။ သို့သော် သူ၏ လုပ်ဆောင်ခြင်း သည် မိုက်ခရိုဆိုင်း၏ ISNULL() ပုံစံ နှင့် အမျှဝါးများ ဖြစ်ပါသည်။
MySQL တွင် ကျွန်တော်တို့သည် IFNULL() ပုံစံ ကို အသုံးပြုနိုင်ပါသည်။
SELECT ProductName,UnitPrice*(UnitsInStock+IFNULL(UnitsOnOrder,0)) FROM Products
သို့မဟုတ် ကျွန်တော်တို့သည် COALESCE() ပုံစံ ကို အသုံးပြုနိုင်ပါသည်။
SELECT ProductName,UnitPrice*(UnitsInStock+COALESCE(UnitsOnOrder,0)) FROM Products
- အရေးပါသော စာရင်း SQL Nulls
- နောက်လိုက် စာရင်း SQL ရှိကြောင်း