MySQL میں تاریخوں اور اوقات کے ساتھ مؤثر طریقے سے کیسے کام کریں۔

MySQL میں تاریخوں اور اوقات کے ساتھ مؤثر طریقے سے کیسے کام کریں۔

تاریخیں اور اوقات اہم ہیں ، وہ چیزوں کو منظم رکھنے میں مدد کرتے ہیں ، اور کسی بھی سافٹ ویئر آپریشن کا لازمی پہلو ہیں۔





ڈیٹا بیس کے اندر ان کے ساتھ مؤثر طریقے سے کام کرنا بعض اوقات الجھا ہوا لگتا ہے ، چاہے وہ مختلف ٹائم زونز میں کام کر رہا ہو ، تاریخوں کو شامل / منہا کر رہا ہو ، اور دیگر کام کر رہا ہو۔





اپنے ڈیٹا بیس میں تاریخوں / اوقات کو آسانی سے سنبھالنے اور انتظام کرنے کے لیے دستیاب مختلف ایس کیو ایل افعال سیکھیں۔





ٹائم زون کے ساتھ کام کرنا۔

چیزوں کو معیاری رکھنے میں مدد کے لیے ، آپ کو صرف UTC ٹائم زون میں تاریخوں / اوقات کے ساتھ کام کرنا چاہیے۔ جب بھی آپ ایس کیو ایل ڈیٹا بیس سے کنکشن قائم کرتے ہیں ، آپ کو ٹائم زون کو یو ٹی سی میں تبدیل کرنا چاہیے ، جو کہ درج ذیل ایس کیو ایل بیان کے ساتھ کیا جا سکتا ہے۔

SET TIME_ZONE = '+0:00'

چونکہ اب تمام تاریخیں یو ٹی سی میں محفوظ ہو جائیں گی ، آپ ہمیشہ جانتے ہیں کہ آپ کس چیز کے ساتھ کام کر رہے ہیں ، چیزوں کو مزید آسان اور سیدھا کرتے ہوئے۔



فیس بک کوڈ جنریٹر کہاں ہے؟

جب ضرورت ہو تو آپ آسانی سے کر سکتے ہیں۔ ٹائم زون کو تبدیل کریں۔ ہاتھ کے ساتھ کسی بھی ڈیٹ ٹائم / ٹائم اسٹیمپ ویلیو کا۔ CONVERT_TZ () ایس کیو ایل فنکشن۔ آپ کو پہلے آفسیٹ جاننے کی ضرورت ہے ، مثال کے طور پر ، شمالی امریکہ کے مغربی ساحل پر PST UTC -08: 00 ہے ، لہذا آپ استعمال کر سکتے ہیں:

SELECT CONVERT_TZ('2021-02-04 21:47:23', '+0:00', '-8:00');

اس کے نتیجے میں 2021-02-04 13:47:23۔ جو بالکل درست ہے۔ تین دلائل منظور ہوئے۔ CONVERT_TZ () پہلے ڈیٹ ٹائم / ٹائم اسٹیمپ ہیں جس سے آپ شروع کر رہے ہیں (ابھی استعمال کریں () موجودہ وقت کے لیے) ، دوسرا ہمیشہ رہے گا۔ '+0: 00' چونکہ تمام تاریخیں ڈیٹا بیس میں UTC پر مجبور ہیں ، اور آخری وہ آفسیٹ ہے جسے ہم تاریخ میں تبدیل کرنا چاہتے ہیں۔





تاریخیں شامل کریں / کم کریں۔

کئی بار آپ کو تاریخوں میں شامل یا منہا کرنے کی ضرورت پڑتی ہے ، جیسے کہ اگر آپ کو ایک ہفتہ پہلے کے ریکارڈ بازیافت کرنے کی ضرورت ہو ، یا اب سے ایک مہینہ پہلے کچھ شیڈول کرنا ہو۔

شکر ہے کہ ایس کیو ایل بہترین ہے۔ DATE_ADD () اور DATE_SUB () افعال اس کام کو انتہائی آسان بناتے ہیں۔ مثال کے طور پر ، آپ SQL بیان کے ساتھ موجودہ تاریخ سے دو ہفتے کم کر سکتے ہیں:





SELECT DATE_SUB(now(), interval 2 week);

اگر اس کے بجائے آپ موجودہ ٹائم اسٹیمپ میں تین دن شامل کرنا چاہتے ہیں تو آپ استعمال کریں گے:

SELECT DATE_ADD('2021-02-07 11:52:06', interval 3 day);

دونوں افعال یکساں کام کرتے ہیں ، پہلی دلیل وہ ٹائم سٹیمپ ہے جس سے آپ شروع کر رہے ہیں ، اور دوسری دلیل وقفہ ہے جوڑنے یا گھٹانے کا ہے۔ دوسری دلیل ہمیشہ لفظ سے شروع ہوتی ہے۔ وقفہ اس کے بعد ایک عددی قدر اور وقفہ خود ، جو مندرجہ ذیل میں سے کوئی بھی ہو سکتا ہے: دوسرا ، منٹ ، گھنٹہ ، دن ، ہفتہ ، مہینہ ، سہ ماہی ، سال۔

ایک اور مثال کے طور پر ، اگر آپ پچھلے 34 منٹ میں ہونے والے تمام لاگ ان کو بازیافت کرنا چاہتے ہیں تو آپ ایس کیو ایل کا بیان استعمال کرسکتے ہیں جیسے:

SELECT * FROM logins WHERE login_date >= DATE_SUB(now(), interval 45 minute);

جیسا کہ آپ دیکھ سکتے ہیں ، اس سے تمام ریکارڈ بازیافت ہوں گے لاگ ان موجودہ وقت مائنس 45 منٹ سے زیادہ لاگ ان کی تاریخ کے ساتھ ٹیبل ، یا دوسرے لفظوں میں ، پچھلے 45 منٹ۔

تاریخوں کے درمیان فرق حاصل کریں۔

بعض اوقات آپ کو یہ معلوم کرنے کی ضرورت ہوتی ہے کہ دو تاریخوں کے درمیان کتنا وقت گزر چکا ہے۔ آپ آسانی سے دو مختلف تاریخوں کے درمیان دنوں کی تعداد حاصل کرسکتے ہیں۔ DATEDIFF فنکشن ، جیسا کہ ذیل میں SQL بیان:

SELECT DATEDIFF(now(), '2020-12-15');

کی DATEDIFF فنکشن دو دلائل لیتا ہے ، دونوں تاریخ / وقت کے ڈاک ٹکٹ ہیں اور ان کے درمیان دنوں کی تعداد دیتا ہے۔ مندرجہ بالا مثال 15 دسمبر 2020 سے آج تک گزرے دنوں کی تعداد دکھائے گی۔

دو تاریخوں کے درمیان سیکنڈ کی تعداد حاصل کرنے کے لیے ، TO_SECONDS () فنکشن کام آ سکتا ہے ، مثال کے طور پر:

SELECT TO_SECONDS(now()) - TO_SECONDS('2021-02-05 11:56:41');

اس کے نتیجے میں فراہم کردہ دو تاریخوں کے درمیان سیکنڈ کی تعداد ہوگی۔

تاریخوں سے حصے نکالیں۔

مختلف ایس کیو ایل افعال ہیں جو آپ کو تاریخوں سے مخصوص حصوں کو آسانی سے نکالنے کی اجازت دیتے ہیں ، جیسے کہ اگر آپ صرف مہینہ ، سال کا دن ، یا گھنٹہ چاہتے ہیں۔ اس طرح کے افعال کی چند مثالیں یہ ہیں:

SELECT MONTH('2021-02-11 15:27:52'); SELECT HOUR(now()); SELECT DAYOFYEAR('2021-07-15 12:00:00');

مذکورہ SQL بیانات کے نتیجے میں ہوگا۔ 02۔ ، موجودہ گھنٹہ ، اور 196۔ 15 ستمبر سال کا 196 واں دن ہے۔ یہاں دستیاب تمام تاریخ نکالنے کے افعال کی فہرست ہے ، ہر ایک صرف ایک دلیل لے رہا ہے ، جس تاریخ سے نکالا جا رہا ہے:

- SECOND()
- MINUTE()
- HOUR()
- DAY()
- WEEK() - Number 0 - 52 defining the week within the year.
- MONTH()
- QUARTER() - Number 1 - 4 defining the quarter of the year.
- YEAR()
- DAYOFYEAR() - The day of the year (eg. Sept 15th = 196).
- LAST_DAY() - The last day in the given month.
- DATE() - The date in YYYY-MM-DD format without the time.
- TIME() The time in HH:II:SS format without the date.
- TO_DAYS() - The number of days since A.D. 0.
- TO_SECONDS() - The number of seconds since A.D. 0.
- UNIX_TIMESTAMP() - The number of seconds since the epoch (Jan 1st, 1970)

مثال کے طور پر ، اگر آپ صرف وہ مہینہ اور سال حاصل کرنا چاہتے ہیں جو تمام صارفین نے بنایا تھا ، تو آپ ایس کیو ایل کا بیان استعمال کر سکتے ہیں جیسے:

SELECT id, MONTH(created_at), YEAR(created_at) FROM users;

اس سے تمام ریکارڈز کو واپس مل جائے گا۔ صارفین ٹیبل اور ID#، مہینہ اور سال دکھائیں جس میں ہر صارف بنایا گیا تھا۔

تاریخ کی مدت کے لحاظ سے ریکارڈنگ کو گروپ بندی کرنا۔

تاریخ کے افعال کا ایک عمدہ استعمال تاریخ کے استعمال سے ریکارڈ کو گروپ کرنے کی صلاحیت ہے۔ گروپ بائی آپ کے SQL بیانات کے اندر۔ مثال کے طور پر ، ہوسکتا ہے کہ آپ 2020 میں گروپ کے تمام آرڈرز کی کل رقم مہینے کے حساب سے نکالنا چاہیں۔ آپ ایس کیو ایل کا بیان استعمال کرسکتے ہیں جیسے:

SELECT MONTH(created_at), SUM(amount) FROM orders WHERE created_at BETWEEN '2020-01-01 00:00:00' AND '2020-12-31 23:59:59' GROUP BY MONTH(created_at);

یہ سال 2020 میں دیے گئے تمام آرڈرز کو دوبارہ حاصل کرے گا ، ان کے بنائے گئے مہینے کے مطابق گروپ کریں گے ، اور 12 ریکارڈ واپس کریں گے جو سال کے ہر مہینے میں آرڈر کردہ کل رقم کو ظاہر کرتے ہیں۔

براہ کرم نوٹ کریں ، انڈیکس کی بہتر کارکردگی کے لیے ، تاریخ کے افعال کو استعمال کرنے سے بچنا ہمیشہ بہتر ہے۔ سال () SQL بیانات کی WHERE شق کے اندر ، اور اس کے بجائے کے درمیان آپریٹر جیسا کہ اوپر کی مثال میں دکھایا گیا ہے۔

پھر کبھی تاریخوں کے ساتھ الجھن میں نہ پڑیں۔

مذکورہ علم کا استعمال کرتے ہوئے اب آپ استعمال کے معاملات کی ایک وسیع صف میں تاریخوں اور اوقات میں مؤثر طریقے سے کام کر سکتے ہیں ، ترجمہ کر سکتے ہیں اور آپریشن کر سکتے ہیں۔

سادگی کے لیے تاریخوں کے ساتھ کام کرتے وقت ہمیشہ UTC کا استعمال کرنا یاد رکھیں ، اور اپنے سافٹ وئیر میں تاریخوں کو موثر طریقے سے سنبھالنے کے لیے مذکورہ بالا نکات کو استعمال کریں ، چاہے وہ سادہ حساب کتاب مکمل کریں یا تاریخ کے ادوار کے مطابق گروپ کی گئی رپورٹوں کو آسانی سے کھینچیں۔

اگر آپ ایس کیو ایل میں کچھ نئے ہیں تو ان کو ضرور چیک کریں۔ ضروری SQL کمانڈ اپنے SQL استعمال کو بہتر بنانے میں مدد کے لیے۔

بانٹیں بانٹیں ٹویٹ ای میل۔ مائیکروسافٹ ورڈ میں پیشہ ورانہ رپورٹس اور دستاویزات کیسے بنائیں

یہ گائیڈ پیشہ ورانہ رپورٹ کے عناصر کی جانچ کرتی ہے اور مائیکروسافٹ ورڈ میں آپ کی دستاویز کی ساخت ، اسٹائل اور حتمی شکل کا جائزہ لیتی ہے۔

اگلا پڑھیں۔
متعلقہ موضوعات۔ مصنف کے بارے میں میٹ ڈیزک۔(18 مضامین شائع ہوئے) میٹ ڈیزک سے مزید۔

ہماری نیوز لیٹر کو سبسکرائب کریں

ٹیک ٹپس ، جائزے ، مفت ای بکس ، اور خصوصی سودوں کے لیے ہمارے نیوز لیٹر میں شامل ہوں!

سبسکرائب کرنے کے لیے یہاں کلک کریں۔