9. Analysts साठी Date आणि Time queries
9.1 Date range सुरक्षितपणे filter कसा करायचा (>= सुरुवात AND < पुढची)
का (Why). महिन्याचा शेवटचा दिवस सुटला तर monthly report चुकतो. Date-time text सोबत हे बऱ्याचदा होतं.
काय (What). posted_at मध्ये date आणि time दोन्ही आहेत. SQLite या values ची तुलना text म्हणून करतं. '2026-09-30 15:30:00' हा text '2026-09-30' ने सुरू होतो आणि त्यापेक्षा लांब आहे, म्हणून तो त्याच्या नंतर येतो. त्यामुळे BETWEEN '2026-09-01' AND '2026-09-30' मध्ये 30 September चा वेळ असलेला प्रत्येक row सुटतो, अगदी 00:00:00 चा सुद्धा. सुरक्षित पद्धत म्हणजे पहिल्या दिवसाच्या >= आणि पुढच्या महिन्याच्या पहिल्या दिवसाच्या <. इथे हे चालतं कारण प्रत्येक posted_at एकाच format मध्ये, YYYY-MM-DD HH:MM:SS, आणि एकाच घड्याळानुसार आहे. Table मध्ये वेगवेगळे formats किंवा time zones असतील तर आधी ते एका format मध्ये आणा.
कसं (How). September चे rows BETWEEN ने आणि सुरक्षित पद्धतीने मोजा, आणि दोन्ही counts ची तुलना करा.
पायऱ्या
- पहिलं उदाहरण run करा, त्यात BETWEEN वापरलं आहे.
- दुसरं उदाहरण run करा, त्यात >= आणि < वापरलं आहे.
- दोन्ही counts ची तुलना करा: सुरक्षित पद्धतीत एक row जास्त मिळतो.
- BETWEEN ने सोडलेला row बघायला तिसरं उदाहरण run करा.
उदाहरणे
उदाहरण 1 · dataset: northstar_bank
SELECT COUNT(*) AS rows_found
FROM transactions
WHERE posted_at BETWEEN '2026-09-01' AND '2026-09-30';Output
| rows_found |
|---|
| 8 |
Meaning. BETWEEN ला 8 rows मिळतात, पण September मध्ये खरंतर 9 आहेत.
उदाहरण 2 · dataset: northstar_bank
SELECT COUNT(*) AS rows_found
FROM transactions
WHERE posted_at >= '2026-09-01'
AND posted_at < '2026-10-01';Output
| rows_found |
|---|
| 9 |
Meaning. सुरक्षित पद्धतीने शेवटच्या दिवसासह September चे सगळे 9 rows मिळतात.
उदाहरण 3 · dataset: northstar_bank
SELECT txn_id, posted_at, amount
FROM transactions
WHERE posted_at >= '2026-09-30'
AND posted_at < '2026-10-01';Output
| txn_id | posted_at | amount |
|---|---|---|
| 25 | 2026-09-30 15:30:00 | 700.0 |
Meaning. BETWEEN ने सोडलेला हा 30 September चा दुपारी 15:30 चा withdrawal आहे.
Ravindra Bagale's Tip
Say it as a rule: from the start date, up to but not including the next start date. It works for days, months and years when all dates share one format.
Ravindra Bagale's Tip – मराठी
हा नियम लक्षात ठेवा: सुरुवातीच्या date पासून, पुढच्या सुरुवातीच्या date च्या आधीपर्यंत. सगळ्या dates एकाच format मध्ये असतील तर हे दिवस, महिने आणि वर्षं सगळ्यांसाठी चालतं.
Ravindra Bagale's Tip – हिंदी
इसे नियम की तरह याद रखिए: शुरुआती date से, अगली शुरुआती date से पहले तक। सारी dates एक ही format में हों तो यह दिन, महीने और साल सबके लिए चलता है।