توابع تاریخ SQL

SQL تاریخ

جب ہم تاریخ سے معاملہ کرتے ہیں تو سب سے دشوار کام یہ ہوتا ہے کہ یقین رکھنا کہ درج کی گئی تاریخ کا فارمات، دیتابیس میں تاریخ کی سطر کا فارمات سے ماتحتاج ہو。

جب تک کہ دیتا میں صرف تاریخ حصہ شامل ہوا ہو، کوئی مسئلہ نہیں آئیگا، لیکن اگر وقت کا حصہ شامل ہوا تو معاملہ کچھ پیچیدہ بن جائیگا。

تاریخ کی جستجو کی پیچیدگی کا تبصرہ کرنے سے پہلے، ہم سب سے اہم اندرون کار تاریخ فنکشن دیکھیں。

MySQL تاریخ فنکشن

درج ذیل ٹیبل میں MySQL میں سب سے اہم اندرون کار تاریخ فنکشن درج ہیں:

فنکشن وصف
NOW() موجودہ تاریخ اور وقت کا بر آمد کرنا
CURDATE() موجودہ تاریخ کا بر آمد کرنا
CURTIME() موجودہ وقت کا بر آمد کرنا
DATE() تاریخ یا تاریخ/وقت کی جملے کا تاریخ حصہ نکالنا
EXTRACT() تاریخ/وقت کا علیحدہ علیحدہ حصہ بر آمد کرنا
DATE_ADD() تاریخ پر مخصوص وقت کی کچھ کا اضافہ کرنا
DATE_SUB() تاریخ سے مخصوص وقت کی کچھ کا چوکیدگی کرنا
DATEDIFF() دو تاریخ کے درمیان دنوں کی تعداد بر آمد کرنا
DATE_FORMAT() تاریخ/وقت کا مختلف فارمات میں دکھانا

SQL Server تاریخ فنکشن

درج ذیل ٹیبل میں SQL Server میں سب سے اہم اندرون کار تاریخ فنکشن درج ہیں:

فنکشن وصف
GETDATE() موجودہ تاریخ اور وقت کا بر آمد کرنا
DATEPART() تاریخ/وقت کا علیحدہ علیحدہ حصہ بر آمد کرنا
DATEADD() تاریخ میں مخصوص وقت کی کچھ کا اضافہ یا کچھ کی کچھ کا چوکیدگی کرنا
DATEDIFF() دو تاریخ کے درمیان وقت کی فرق بر آمد کرنا
CONVERT() تاریخ/وقت کا مختلف فارمات میں دکھانا

SQL تاریخ کا ڈیٹا ٹائپ

MySQL دا دیتابیس میں تاریخ یا تاریخ/وقت کی اعداد کا ذخیرہ کرنے کیلئے مندرجہ ذیل ڈیٹا ٹائپ استعمال کرتا ہے:

  • DATE - فارمٹ YYYY-MM-DD
  • DATETIME - فارمٹ: YYYY-MM-DD HH:MM:SS
  • TIMESTAMP - فارمٹ: YYYY-MM-DD HH:MM:SS
  • YEAR - فارمٹ YYYY یا YY

SQL Server کوئی باتوں کا استعمال کرتا ہے تاکہ بجائی یا تاریخ/وقت کا برق کا برق بجائی جائے:

  • DATE - فارمٹ YYYY-MM-DD
  • DATETIME - فارمٹ: YYYY-MM-DD HH:MM:SS
  • SMALLDATETIME - فارمٹ: YYYY-MM-DD HH:MM:SS
  • TIMESTAMP - فارمٹ: یگنا شمار

SQL تاریخ کا معاملہ

اگر وقت کا حصہ نہیں شامل ہو، تو دو تاریخوں کو آسان طور پر مقابلو کیا جاسکتا ہے!

اب تصور کریں کہ ہم اس طرح کا "Orders" جدول رکھتے ہیں:

OrderId ProductName OrderDate
1 کمپیوٹر 2008-12-26
2 پرنٹر 2008-12-26
3 الیکٹروگراف 2008-11-12
4 ٹیلی فون 2008-10-19

اب، ہم چاہتے ہیں کہ اس جدول سے OrderDate کا ریکارڈ '2008-12-26' سے چکائیں۔

ہم اس سے SELECT جملہ استعمال کریں گے:

SELECT * FROM Orders WHERE OrderDate='2008-12-26'

نتائج کا مجموعہ:

OrderId ProductName OrderDate
1 کمپیوٹر 2008-12-26
3 الیکٹروگراف 2008-12-26

اب تصور کریں کہ "Orders" کا سلسلہ ایسا ہے (لطفاً "OrderDate" کی سطر میں وقت کا حصہ دیکھیئے):

OrderId ProductName OrderDate
1 کمپیوٹر 2008-12-26 16:23:55
2 پرنٹر 2008-12-26 10:45:26
3 الیکٹروگراف 2008-11-12 14:12:08
4 ٹیلی فون 2008-10-19 12:56:10

اگر ہم اس سے SELECT جملہ استعمال کریں گے:

SELECT * FROM Orders WHERE OrderDate='2008-12-26'

تو ہم نہیں مل سکتے نتائج، یہ اس وجہ سے ہے کہ اس کوئی وقت کا حصہ نہیں رکھا گیا تھا۔

اتنائی:اگر آپ چاہتے ہیں کہ کوئی جستجو سادہ اور آسان براہ ملاک رہ جائے تو تاریخ میں وقت کا حصہ استعمال نہ کریں!