تاریخ اور / یا کیریکٹر اسٹرنگ سے وقت کو تبدیل کرتے وقت ‘تبادلوں میں ناکام‘ کو کیسے درست کریں؟



مسائل کو ختم کرنے کے لئے ہمارے آلے کو آزمائیں

بہت ساری مثالیں ہیں جب تاریخیں اور اوقات اس شکل میں ظاہر نہیں ہوتے ہیں جس طرح آپ چاہتے ہیں ، اور نہ ہی کوئوری آؤٹ پٹ ناظرین کی ضروریات کو پورا کرتا ہے۔ آپ کی ضرورت کے مطابق تاریخی تار کو فارمیٹ کرنے کے لئے بہت سی ایس کیو ایل سرور کی بلٹ ان خصوصیات ہیں لیکن اسٹرنگ کی ترجمانی ایس کیو ایل سرور کے ذریعہ کرنے اور تبادلوں کی غلطیوں سے بچنے کے ل it یہ مناسب شکل میں ہونی چاہئے۔ جب ہم تاریخ یا وقت کو کردار کے اسٹرنگ سے تبدیل کرنے کی کوشش کرتے ہیں تو بعض اوقات غلطی پیدا ہوتی ہے۔ 'تاریخ اور / یا وقت کو کردار کے اسٹرنگ سے تبدیل کرتے وقت تبادلہ ناکام ہوگیا۔'



تاریخ وقت کی تبدیلی کی غلطی

چترا 1: کیٹرنگ سٹرنگ سے تاریخ اور / یا وقت کی تبدیلی کی غلطی



مذکورہ غلطی عام طور پر اس وقت پیدا ہوتی ہے جب تاریخی لفظی مناسب نہیں ہوتا ہے اور اسے ڈور سے ڈیٹ ٹائم یا تاریخ میں تبدیل نہیں کیا جاسکتا ہے۔ اس غلطی کا نتیجہ متعدد وجوہات کی وجہ سے ہوتا ہے ، جس پر ہم حل سیٹ کے ساتھ ساتھ تفصیل سے بات کریں گے۔



مثال 1:

برطانیہ کی تاریخ اور وقت کے اشارے دن کے مہینے والے سال کی شکل (جنوری 10 ، 2015 یا 10/1/2015) کا استعمال کرتے ہوئے تاریخ کو ظاہر کرتے ہیں جسے ہم SQL سرور بلٹ ان فیچر 'فارورٹنگ' فنکشن کے ساتھ فارمیٹنگ اسٹائل 103 کے ساتھ حاصل کرسکتے ہیں۔

یہاں ذیل کی مثال میں ہم دیکھ سکتے ہیں کہ فراہم کردہ تاریخ کی تار غلط شکل میں ہے۔ سب سے پہلے ، یہ مہینہ ، پھر دن اور آخری سال فراہم کررہا ہے جو غلط ہے اور ایس کیو ایل سرور کے ذریعہ اس کی ترجمانی نہیں کی جاسکتی ہے جس کے نتیجے میں غلطی ہوتی ہے۔ '103' تاریخ اسٹائل کا استعمال کرتے ہوئے یوکے کے طرز کی تاریخ میں تبدیلی کے لئے درست شکل 'ڈی ڈی / ملی میٹر / یار' ہے۔

غلط فارمیٹ:

@ ڈیٹ_ٹائم_ویلیو ورچر (100) = '10 / 16/2015 21:02:04 'منتخب کریں CONVERT (ڈیٹ ٹائم 2 ، @ ڈیٹ_ٹائم_یویلیو ، 103) بطور یوکے_ڈیٹ_ٹائم_سائل

چترا 2: غلط تاریخ کی شکل غلطی کا نتیجہ ہے



درست شکل:

برطانوی اور فرانسیسی تاریخ کی شکل 103 = 'dd / mm / yyy' یا 3 = 'dd / mm / yy' ہے۔ یہاں 103 اور 3 تاریخ کی طرزیں ہیں۔

@ ڈیٹ_ٹائم_ویلیو ورچر (100) = '10 / 1/15 21:02:04 'منتخب کریں CONVERT (ڈیٹ ٹائم 2 ، @ ڈیٹ_ٹائم_یویلیو ، 103) بطور تاریخ_ٹائم_سٹائل

چترا 3: برطانوی / فرانسیسی تاریخ کے انداز کے ساتھ 'ڈی ڈی / ملی میٹر / یحیی' کے ساتھ تاریخ کا درست فارمیٹ

@ ڈیٹ_ٹائم_ویلیو ورچر (100) = '10 / 1/15 21:02:04 'منتخب کریں CONVERT (ڈیٹ ٹائم 2 ، @ ڈیٹ_ٹائم_یویلیو ، 3) بطور یوکے_ڈیٹ_ٹائم_ٹائل

چترا 4: برطانوی / فرانسیسی تاریخ کے انداز کے ساتھ 'ڈی ڈی / ملی میٹر / یار' کے ساتھ تاریخ کی درست شکل

مثال 2:

بعض اوقات ایس کیو ایل سرور میں تاریخ میں تبدیلی کے نتیجے میں غلطی ہوتی ہے ، اس لئے نہیں کہ استعمال شدہ تاریخ یا وقت کی شکل ، بلکہ اس کی وجہ یہ ہے کہ آپ غلط معلومات کو ذخیرہ کرنے کی کوشش کر رہے ہیں جو اسکیم کے لئے قابل قبول نہیں ہے۔

غلط تاریخ:

درج ذیل غلطی کی وجہ محض یہ ہے کہ سال 2019 میں '29 فروری' جیسی کوئی تاریخ نہیں ہے کیونکہ یہ لیپ سال نہیں ہے۔

@ ڈیٹ_ٹائم_ویلیو ورچر (100) = '2019-02-29 21:02:04' کاسٹ کو منتخب کریں (@ ڈیٹ_ٹائم_ویلیوٹ ڈیٹ ٹائم 2) بطور تاریخ_وقت_الیو

چترا 5: چونکہ 2019 میں غلطی اٹھائی گئی ہے وہ لیپ سال نہیں ہے ، لہذا اس میں تاریخ 29 فروری نہیں ہے

درست کریں:

@ ڈیٹ_ٹائم_ویلیو ورچر (100) = '2019-02-28 21:02:04' کاسٹ کو منتخب کریں (@ ڈیٹ_ٹائم_ویلیوٹ ڈیٹ ٹائم 2) بطور تاریخ_ وقت_یوالیو

چترا 6: صحیح تاریخ

آئی ایس او 8601 تاریخ کی شکل:

اگرچہ تاریخی اقدار کو جوڑنے کے ل numerous متعدد فارمیٹس دستیاب ہیں ، جب عالمی / بین الاقوامی بڑے پیمانے پر کام کرتے ہیں تو ، ڈیٹ ٹائم نمائندگی کا انتخاب کرنا پریوست مسئلہ ہوسکتا ہے۔ لہذا ثقافت سے متعلق مخصوص تاریخ / وقت کے لغو سے پرہیز کرنا چاہئے۔ اگر ہم اس تاریخ '03/08/2018' پر غور کرتے ہیں تو ، دنیا کے مختلف خطوں میں مختلف طریقوں پر عمل کرنے میں اس کی ترجمانی کی جائے گی۔

  • برطانیہ کے انداز میں اس کی ترجمانی '8 مارچ 2018 ء کو' کے طور پر کی گئی ہے
  • یوروپی انداز میں اس کی ترجمانی '3 ​​اگست 2018 ء' کے طور پر کی گئی ہے

خوش قسمتی سے ، آئی ایس او کے ذریعہ تیار کردہ بین الاقوامی تاریخی شکل میں ایک متبادل موجود ہے۔ عالمی معیاری ISO 8601 فارمیٹ 'YYYY-MM-DDThh: mm: ss' تار کے لفظی الفاظ کے ل language زبان سے آزاد اختیار ہے اور اس سے ان تمام مسائل کو حل کیا جاتا ہے۔ جبکہ ، 'یحیی' سال ہے ، 'ملی میٹر' مہینہ ہے اور 'ڈی ڈی' دن ہے۔ لہذا بین الاقوامی آئی ایس او فارمیٹ میں 'مارچ 8 مارچ 2018' کو '2018-03-08' لکھا گیا ہے۔ اس طرح تاریخ کی نمائندگی کے لئے آئی ایس او فارمیٹ بہترین انتخاب ہے۔

@ ڈیٹ_ٹائم_ویلیو ورچر (100) = '2019-03-28 21:02:04' [yyyy-mm-ddThh: mi: ss.mmm] کے بطور کنورٹ (ڈیٹ ٹائم 2 ، @ تاریخ_ وقت_یوالیو ، 126) منتخب کریں۔

چترا 7: بین الاقوامی معیاری ISO 8601 تاریخ کی شکل

سفارشات:

امید ہے کہ ، اس مضمون سے اس الجھن کو دور کرنے میں مدد ملے گی جو میں نے معاشرے میں تاریخ / وقت کی اقدار کے بارے میں اکثر دیکھا ہے۔ تاہم ، یہ تجویز کی جاتی ہے کہ تاریخ کو کبھی بھی ٹیکسٹ ٹائپ (ورچر ، چار ، نیورچار ، اینچار ، یا ٹیکسٹ) میں اسٹور نہ کریں۔ ہمیشہ ڈیٹ ، ڈیٹاٹائم اور ترجیحی طور پر ڈیٹا ٹائم 2 (مزید صحت سے متعلق) قسم کے کالموں میں تاریخ کا ذخیرہ رکھیں اور تاریخ کی معلومات کی فارمیٹنگ کو چھوڑ دیں۔ ڈیٹا بیس سے بازیافت کرنے کی بجائے صارف انٹرفیس پرت میں۔

2 منٹ پڑھا