Ravindra BagaleCourses & study guides Track your progress

6. Analysts ना रोज भेटणारे SQL Data Types

6.3 SQLite मध्ये dates आणि times कसे साठवले जातात (Text मध्ये)

का (Why). जवळजवळ प्रत्येक report मध्ये एखाद्या date किंवा महिन्याबद्दल प्रश्न असतो. Filter करण्याआधी date कशी साठवली आहे ते माहीत हवं.

काय (What). SQLite मध्ये वेगळा date type नाही. Dates सहसा YYYY-MM-DD HH:MM:SS या ISO format मध्ये TEXT म्हणून साठवल्या जातात. वर्ष आधी येतं, म्हणून हा text sort केला की dates पण योग्य क्रमाने लागतात.

कसं (How). typeof() ने posted_at चा type तपासा, आणि date() व time() ने त्याचे date आणि time असे दोन भाग करा.

पायऱ्या

  1. पहिलं उदाहरण run करा आणि posted_at हा TEXT आहे याची खात्री करा.
  2. पुढच्या दोन columns मध्ये date चा भाग आणि time चा भाग वाचा.
  3. posted_at नुसार sort केलेले शेवटचे तीन transactions बघायला दुसरं उदाहरण run करा.
  4. नवीन dates नेहमी YYYY-MM-DD format मध्ये ठेवा, म्हणजे sorting आणि filtering बरोबर राहतं.

उदाहरणे

उदाहरण 1 · dataset: northstar_bank

SELECT posted_at,
       typeof(posted_at) AS stored_as,
       date(posted_at)   AS just_date,
       time(posted_at)   AS just_time
FROM transactions
WHERE txn_id IN (1, 2, 3);

Output

posted_atstored_asjust_datejust_time
2026-08-03 09:15:00text2026-08-0309:15:00
2026-08-19 14:40:00text2026-08-1914:40:00
2026-08-07 11:05:00text2026-08-0711:05:00

Meaning. posted_at हा साधा TEXT आहे. date() आणि time() functions तो text वाचून फक्त date चा भाग किंवा फक्त time चा भाग देतात.

उदाहरण 2 · dataset: northstar_bank

SELECT txn_id, posted_at
FROM transactions
ORDER BY posted_at DESC
LIMIT 3;

Output

txn_idposted_at
242026-10-31 23:30:00
232026-10-30 14:21:00
222026-10-30 14:20:00

Meaning. सगळ्यात नवीन transactions आधी येतात. ISO text मध्ये आधी वर्ष, मग महिना, मग दिवस असतो, म्हणून sorting बरोबर होतं.

Ravindra Bagale's Tip

A date written as 03/09/2026 is not safe in SQLite, because it sorts as text and can mean March or September. Convert such dates to YYYY-MM-DD first.