SQL သည် ရက်စွဲများဖြင့် အလုပ်လုပ်သည်။
SQL ရက်စွဲများ
ရက်စွဲများနှင့် လုပ်ဆောင်ရာတွင် အခက်ခဲဆုံးအပိုင်းမှာ သင်ထည့်သွင်းရန်ကြိုးစားနေသည့် ရက်စွဲပုံစံသည် ဒေတာဘေ့စ်ရှိ ရက်စွဲကော်လံ၏ဖော်မတ်နှင့် ကိုက်ညီကြောင်း သေချာစေရန်ဖြစ်သည်။
သင့်ဒေတာတွင် ရက်စွဲအပိုင်းသာ ပါနေသရွေ့ သင့်မေးမြန်းချက်များသည် မျှော်လင့်ထားသည့်အတိုင်း အလုပ်ဖြစ်ပါမည်။ သို့သော် အချိန်အပိုင်းအခြားတစ်ခုပါဝင်ပါက၊ ၎င်းသည် ပို၍ရှုပ်ထွေးလာသည်။
SQL Date Data အမျိုးအစားများ
MySQL သည် ဒေတာဘေ့စ်တွင် ရက်စွဲတစ်ခု သို့မဟုတ် နေ့စွဲ/အချိန်တန်ဖိုးကို သိမ်းဆည်းရန်အတွက် အောက်ပါဒေတာအမျိုးအစားများပါရှိသည်။
-
DATE
- YYYY-MM-DD ဖော်မတ် -
DATETIME
- ဖော်မတ်- YYYY-MM-DD HH:MI:SS TIMESTAMP
- ဖော်မတ်- YYYY-MM-DD HH:MI:SS-
YEAR
- YYYY သို့မဟုတ် YY ဖော်မတ်
SQL Server သည် ဒေတာဘေ့စ်တွင် ရက်စွဲတစ်ခု သို့မဟုတ် နေ့စွဲ/အချိန်တန်ဖိုးကို သိမ်းဆည်းရန်အတွက် အောက်ပါဒေတာအမျိုးအစားများ ပါရှိသည်။
-
DATE
- YYYY-MM-DD ဖော်မတ် -
DATETIME
- ဖော်မတ်- YYYY-MM-DD HH:MI:SS -
SMALLDATETIME
- ဖော်မတ်- YYYY-MM-DD HH:MI:SS TIMESTAMP
- ဖော်မတ်- သီးသန့်နံပါတ်
မှတ်ချက်- သင့်ဒေတာဘေ့စ်တွင် ဇယားအသစ်တစ်ခုဖန်တီးသောအခါ ကော်လံတစ်ခုအတွက် ရက်စွဲအမျိုးအစားများကို ရွေးချယ်ပါသည်။
SQL သည် Dates ဖြင့်အလုပ်လုပ်သည်။
အောက်ပါဇယားကိုကြည့်ပါ။
အော်ဒါဇယား
OrderId | ProductName | OrderDate |
---|---|---|
1 | Geitost | 2008-11-11 |
2 | Camembert Pierrot | 2008-11-09 |
3 | Mozzarella di Giovanni | 2008-11-11 |
4 | Mascarpone Fabioli | 2008-10-29 |
ယခု ကျွန်ုပ်တို့သည် အထက်ဇယားမှ "2008-11-11" ၏ အမှာစာနေ့စွဲဖြင့် မှတ်တမ်းများကို ရွေးလိုပါသည်။
ကျွန်ုပ်တို့သည် အောက်ပါ SELECT
ဖော်ပြချက်ကို အသုံးပြုသည်-
SELECT * FROM Orders WHERE OrderDate='2008-11-11'
ရလဒ်-အစုံသည် ဤကဲ့သို့ဖြစ်လိမ့်မည်-
OrderId | ProductName | OrderDate |
---|---|---|
1 | Geitost | 2008-11-11 |
3 | Mozzarella di Giovanni | 2008-11-11 |
မှတ်ချက်- အချိန်အပိုင်းအစမရှိလျှင် ရက်စွဲနှစ်ခုကို အလွယ်တကူ နှိုင်းယှဉ်နိုင်သည်။
ယခု၊ "အော်ဒါများ" ဇယားသည် ဤကဲ့သို့ဖြစ်နေသည်ဟု ယူဆပါ ("OrderDate" ကော်လံတွင် ထပ်ထည့်ထားသော အချိန်-အစိတ်အပိုင်းကို သတိပြုပါ-
OrderId | ProductName | OrderDate |
---|---|---|
1 | Geitost | 2008-11-11 13:23:44 |
2 | Camembert Pierrot | 2008-11-09 15:45:21 |
3 | Mozzarella di Giovanni | 2008-11-11 11:12:01 |
4 | Mascarpone Fabioli | 2008-10-29 14:56:59 |
အထက်ဖော်ပြပါ တူညီသော SELECT
ကြေညာချက်ကို ကျွန်ုပ်တို့ အသုံးပြုပါက၊
SELECT * FROM Orders WHERE OrderDate='2008-11-11'
ကျွန်ုပ်တို့သည် မည်သည့်ရလဒ်မျှ မရနိုင်ပါ။ အဘယ်ကြောင့်ဆိုသော် မေးခွန်းသည် အချိန်အပိုင်းအခြားမရှိသော ရက်စွဲများကိုသာ ရှာဖွေနေသောကြောင့်ဖြစ်သည်။
အကြံပြုချက်- သင်၏မေးမြန်းချက်များကို ရိုးရှင်းပြီး ထိန်းသိမ်းရလွယ်ကူစေရန်၊ သင်မလိုအပ်ပါက သင့်ရက်စွဲများတွင် အချိန်-အစိတ်အပိုင်းများကို အသုံးမပြုပါနှင့်။