চরিত্রের স্ট্রিং থেকে তারিখ এবং / অথবা সময় রূপান্তর করার সময় ‘রূপান্তর ব্যর্থ হয়েছে’ কীভাবে ঠিক করবেন?



সমস্যাগুলি দূর করার জন্য আমাদের উপকরণটি ব্যবহার করে দেখুন

অনেকগুলি উদাহরণ রয়েছে যখন তারিখ এবং সময়গুলি আপনি যে ফর্ম্যাটটিতে চান তা প্রদর্শিত না হয় এবং না কোয়েরি আউটপুট দর্শকদের প্রয়োজনের সাথে খাপ খায় না। আপনার প্রয়োজন অনুসারে তারিখের স্ট্রিংটি ফর্ম্যাট করার জন্য বেশ কয়েকটি এসকিউএল সার্ভারের অন্তর্নির্মিত বৈশিষ্ট্য রয়েছে তবে এসকিউএল সার্ভার দ্বারা স্ট্রিংটি ব্যাখ্যা করার জন্য এবং রূপান্তর ত্রুটিগুলি এড়াতে এটি সঠিক ফর্ম্যাটে হওয়া উচিত। আমরা যখন চরিত্রের স্ট্রিং থেকে তারিখ বা সময়কে রূপান্তরিত করার চেষ্টা করি তখন কখনও কখনও ত্রুটি দেখা দেয়। 'চরিত্রের স্ট্রিং থেকে তারিখ এবং / অথবা সময় রূপান্তর করার সময় রূপান্তর ব্যর্থ হয়েছিল” '



তারিখের সময় রূপান্তর ত্রুটি

চিত্র 1: চরিত্রের স্ট্রিং থেকে তারিখ এবং / অথবা সময় রূপান্তর ত্রুটি



উপরে উল্লিখিত ত্রুটি সাধারণত উত্থাপিত হয় যখন তারিখ আক্ষরিক সঠিক না থাকে এবং স্ট্রিং থেকে ডেটটাইম বা তারিখে রূপান্তর করা যায় না। বেশ কয়েকটি কারণে এই ত্রুটিটির ফলাফল ঘটে, যা আমরা সমাধান সেট সহ বিস্তারিতভাবে আলোচনা করব।



উদাহরণ 1:

যুক্তরাজ্য তারিখ এবং সময় স্বরলিপিটি দিন-মাস-বছরের ফর্ম্যাট (জানুয়ারী 10, 2015 বা 10/1/2015) ব্যবহার করে তারিখটি প্রদর্শন করে যা আমরা এসকিউএল সার্ভার বিল্টইন বৈশিষ্ট্যটি 'রূপান্তর' ফাংশন 103 সহ ফর্ম্যাট ব্যবহার করে অর্জন করতে পারি।

নীচের উদাহরণে আমরা দেখতে পাচ্ছি যে প্রদত্ত তারিখের স্ট্রিংটি ভুল ফর্ম্যাটে রয়েছে। প্রথমত, এটি মাস, তারপরে দিন এবং শেষ বছরে সরবরাহ করে যা ভুল এবং এসকিউএল সার্ভার দ্বারা ব্যাখ্যা করা যায় না যার ফলস্বরূপ ত্রুটি ঘটে। '103' তারিখ শৈলী ব্যবহার করে ইউকে শৈলীর তারিখ রূপান্তরকরণের জন্য সঠিক ফর্ম্যাটটি হ'ল 'ডিডি / মিমি / ইয়াই'।

ভুল বিন্যাস:

@ তারিখ_সময়ের_মূল্য বর্ণচর্চা (100) = '10 / 16/2015 21:02:04 'ইউএন_ডেট_টাইম_সাইটিলে কনভার্ট (তারিখ 2, @ তারিখ_কালীন_মূল্য, 103) নির্বাচন করুন

চিত্র 2: একটি ত্রুটির ফলে ভুল তারিখের ফর্ম্যাট



সঠিক ফর্ম্যাট:

ব্রিটিশ এবং ফরাসি তারিখের ফর্ম্যাটটি 103 = 'ডিডি / মিমি / ইয়ুআই' বা 3 = 'ডিডি / মিমি / ইয়াই'। এখানে 103 এবং 3 টি তারিখ শৈলী।

@ তারিখ_সময়ের_মূল্য বর্ণচর্চা (100) = '10 / 1/15 21:02:04 'তারিখের_উত্তর সময় হিসাবে কনভার্ট (তারিখ 2, @ তারিখ_কাল_মূল্য, 103) নির্বাচন করুন

চিত্র 3: 'ডিডি / মিমি / ইয়াহে' ব্রিটিশ / ফ্রেঞ্চ তারিখ শৈলীর সাথে তারিখের সঠিক সংশোধন করুন

@ তারিখ_ সময়_মূল্য বর্ণচর্চা (100) = '10 / 1/15 21:02:04 'যুক্তরাজ্য_ তারিখ_কালীন_সত্তর হিসাবে কনভার্ট (তারিখ 2, @ তারিখ_ সময়_মূল্য, 3) নির্বাচন করুন

চিত্র 4: 'ডিডি / মিমি / ওয়াই' ব্রিটিশ / ফরাসি তারিখ শৈলীর সাথে তারিখের সঠিক সংশোধন করুন

উদাহরণ 2:

কখনও কখনও এসকিউএল সার্ভারে ডেট রূপান্তর থেকে ত্রুটির ফলস্বরূপ ফলাফল ব্যবহৃত তারিখ বা সময় ফর্ম্যাটগুলির কারণে নয়, বরং আপনি স্কিমের কাছে গ্রহণযোগ্য নয় এমন ভুল তথ্য সংরক্ষণ করার চেষ্টা করছেন বলে এটি ঘটে।

ভুল তারিখ:

নিম্নলিখিত ত্রুটির কারণটি হ'ল 2019 সালে '29 ফেব্রুয়ারি' এর মতো কোনও তারিখ নেই কারণ এটি কোনও লিপ বছর নয়।

@ তারিখ_সময়ের_মূল্য বর্ণচর্চা (100) = '2019-02-29 21:02:04' castালাই (তারিখের সময়সীমা হিসাবে 2 তারিখ_কাল_মাম) নির্বাচন করুন

চিত্র 5: ত্রুটি উত্থাপিত হয়েছে 2019 হিসাবে একটি লিপ বছর নয়, সুতরাং এটির তারিখ হিসাবে 29 ফেব্রুয়ারী নেই

একটিকে সঠিক করুন:

@ তারিখ_সময়ের_মূল্য বর্ণাচার ঘোষণা করুন (100) = '2019-02-28 21:02:04' ভোটদান (@ তারিখের সময় 2_ তারিখের সময় 2 হিসাবে নির্বাচন করুন) নির্বাচন করুন

চিত্র 6: সঠিক তারিখ

আইএসও 8601 তারিখের ফর্ম্যাট:

যদিও তারিখের মানগুলি পরিচালনা করার জন্য অসংখ্য ফর্ম্যাটগুলি উপলভ্য, বৈশ্বিক / আন্তর্জাতিক গণের জন্য কাজ করার সময়, একটি ডেটটাইম প্রতিনিধিত্ব চয়ন করা একটি ব্যবহারযোগ্যতার সমস্যা হতে পারে। সুতরাং সংস্কৃতি-নির্দিষ্ট তারিখ / সময় আক্ষরিক এড়ানো উচিত। যদি আমরা এই তারিখটি '03/08/2018' বিবেচনা করি তবে বিশ্বের বিভিন্ন অঞ্চলে এটি বিভিন্ন উপায়ে অনুসরণ করে ব্যাখ্যা করা হবে।

  • ইউকে শৈলীতে এটি '8 ই মার্চ 2018' হিসাবে ব্যাখ্যা করা হয়েছে
  • ইউরোপীয় স্টাইলে এটি '3 শে আগস্ট 2018' হিসাবে ব্যাখ্যা করা হয়

ভাগ্যক্রমে, আইএসও দ্বারা নির্মিত আন্তর্জাতিক তারিখের বিন্যাসে একটি বিকল্প রয়েছে। গ্লোবাল স্ট্যান্ডার্ড আইএসও 8601 ফর্ম্যাট 'YYYY-MM-DDThh: মিমি: এসএস' স্ট্রিং আক্ষরিক জন্য আরও একটি ভাষা-স্বতন্ত্র বিকল্প এবং এটি এই সমস্ত সমস্যার সমাধান করে। যেখানে, 'ইয়াহই' বছর, সেখানে 'মিমি' মাস এবং 'দিন' দিন। সুতরাং আন্তর্জাতিক আইএসও ফর্ম্যাটে 'মার্চ 2018 সালের 8 ই' তারিখটি '2018-03-08' হিসাবে লেখা হয়েছে। সুতরাং তারিখের উপস্থাপনের জন্য আইএসও ফর্ম্যাটটি সেরা পছন্দ।

@ তারিখ_সময়ের_মূল্য বর্ণচর্চা (100) = '2019-03-28 21:02:04' রূপান্তর (তারিখের সময় 2, @ তারিখ_কাল_মূল্য, 126) কে [yyyy-mm-ddTh: mi: ss.mmm] হিসাবে নির্বাচন করুন

চিত্র 7: আন্তর্জাতিক স্ট্যান্ডার্ড আইএসও 8601 তারিখের ফর্ম্যাট

প্রস্তাবনাগুলি:

আশা করি, এই নিবন্ধটি তারিখ / সময় মূল্য সম্পর্কে সম্প্রদায়ের মধ্যে আমি প্রায়শই দেখা বিভ্রান্তি দূর করতে সহায়তা করবে will তবে, এটি প্রস্তাবিত হয় যে কখনই তারিখ পাঠ্য-প্রকারে (বারচর, চর, এনভারচার, এনসিআর বা পাঠ্য) সংরক্ষণ করবেন না সর্বদা তারিখের মানটি DATE, DATETIME এবং পছন্দমতো DATETIME2 (আরও নির্ভুলতা সরবরাহ করে) টাইপ কলামগুলিতে সঞ্চয় করুন এবং তারিখের তথ্য ফর্ম্যাটিংটি ছেড়ে যান ডাটাবেস থেকে পুনরুদ্ধার করার পরিবর্তে ব্যবহারকারীর ইন্টারফেস স্তরটিতে।

2 মিনিট পড়া