ঠিক আছে, সুতরাং আপনি কলামটি সংখ্যা থেকে VARCHAR (5) এ স্যুইচ করেছেন। বাম-প্যাড করার জন্য এখন আপনাকে জিপকোড ক্ষেত্রটি আপডেট করতে হবে। এটি করার জন্য এসকিউএল হ'ল:
UPDATE MyTable
SET ZipCode = LPAD( ZipCode, 5, '0' );
এটি জিপকোড কলামের সমস্ত মানকে 5 টি অক্ষরে প্যাড করবে, বামদিকে '0 টি যোগ করবে।
অবশ্যই, এখন আপনি নিজের সমস্ত পুরানো ডেটা ঠিক করে ফেলেছেন, আপনার কোনও নতুন ডেটাও শূন্য-প্যাডড রয়েছে তা নিশ্চিত করা দরকার। এটি করার সঠিক উপায়ে বেশ কয়েকটি বিদ্যালয় রয়েছে:
অ্যাপ্লিকেশনটির ব্যবসায়িক যুক্তিতে এটি পরিচালনা করুন। সুবিধা: ডাটাবেস-স্বাধীন সমাধান, ডাটাবেস সম্পর্কে আরও শেখার জড়িত না। অসুবিধাগুলি: সমস্ত অ্যাপ্লিকেশনটিতে ডেটাবেজে লেখার জন্য সর্বত্র পরিচালনা করা দরকার।
এটি একটি সঞ্চিত পদ্ধতি সহ পরিচালনা করুন। সুবিধাগুলি: সঞ্চিত পদ্ধতিগুলি সমস্ত ক্লায়েন্টের ব্যবসায়ের নিয়ম প্রয়োগ করে। অসুবিধাগুলি: সঞ্চিত পদ্ধতিগুলি সহজ INSERT / আপডেটের বিবৃতিগুলির চেয়ে জটিল এবং ডেটাবেসগুলিতে বহনযোগ্য হিসাবে নয়। একটি খালি INSERT / UPDATE এখনও শূন্য-প্যাডযুক্ত ডেটা .োকাতে পারে।
একটি ট্রিগার দিয়ে এটি পরিচালনা করুন। সুবিধা: সঞ্চিত পদ্ধতি এবং খালি INSERT / আপডেটের বিবৃতিতে কাজ করবে Will অসুবিধাগুলি: স্বল্প পোর্টেবল সমাধান। সবচেয়ে ধীরে সমাধান। ট্রিগারগুলি সঠিকভাবে পাওয়া শক্ত হতে পারে।
এই ক্ষেত্রে, আমি এটিকে অ্যাপ্লিকেশন স্তরে (যদি আদৌ) হ্যান্ডেল করব, এবং ডাটাবেস স্তরে নয়। সর্বোপরি, সমস্ত দেশ 5-সংখ্যার জিপকোড ব্যবহার করে না (এমনকি মার্কিন যুক্তরাষ্ট্রও নয় - আমাদের জিপকোডগুলি আসলে জিপ + 4 + 2: এনএনএনএন-এনএনএনএন-এনএন) এবং কিছু অক্ষর পাশাপাশি অঙ্কেরও অনুমতি দেয়। কোনও ডেটা ফর্ম্যাট চেষ্টা ও জোর করা না হওয়া এবং কাউকে সঠিক মান প্রবেশ করতে বাধা দেওয়ার চেয়ে মাঝে মাঝে ডেটা ত্রুটি গ্রহণ করা ভাল, যদিও এটি ফর্ম্যাটটি আপনি প্রত্যাশা করেছিলেন ঠিক তেমনটি নয়।