কিভাবে একটি MySQL ক্ষেত্রে নেতৃস্থানীয় এবং পিছনে হোয়াইটস্পেস অপসারণ করতে?




field removing-whitespace (7)

আমার দুটি ক্ষেত্র (দেশ এবং আইএসও কোড) সহ একটি টেবিল আছে:

Table1

   field1 - e.g. 'Afghanistan' (without quotes)
   field2 - e.g. 'AF'(without quotes)

কিছু সারিতে দ্বিতীয় ক্ষেত্রের শুরুতে এবং / অথবা শেষে হোয়াইটস্পেস থাকে যা প্রশ্নগুলিকে প্রভাবিত করে।

Table1

   field1 - e.g. 'Afghanistan' (without quotes) 
   field2 - e.g. ' AF' (without quotes but with that space in front)

টেবিলের মধ্য দিয়ে যেতে এবং ফিল্ড 2 তে হোয়াইট স্পেস খুঁজে বের করার জন্য কোন উপায় আছে (এসকিউএল)?



আপনি ডান বা বাম বা একটি স্ট্রিং জন্য সাদা জায়গা পরিষ্কার করতে ltrim বা rtrim ব্যবহার করতে পারেন।


আমি এটা ইতিমধ্যে গ্রহণ করা জানি, কিন্তু আমার মত thoses জন্য যারা "সমস্ত হোয়াইটস্পেস মুছে ফেলুন" (শুধু স্ট্রিং begining এবং শেষ স্ট্রিং এ):

SUBSTRING_INDEX নির্বাচন করুন ('1234 243', '', 1);

ফিরে '1234'


এই বিবৃতি মুছে ফেলা হবে এবং আপনার ডাটাবেসের ক্ষেত্রের কন্টেন্ট আপডেট

ক্ষেত্র মান বাম পাশে সাদা জায়গা অপসারণ করতে

আপডেট টেবিল SET ক্ষেত্র 1 = LTRIM (ক্ষেত্র 1);

প্রাক্তন। আপডেট সদস্য SET firstName = LTRIM (firstName);

ক্ষেত্র মান ডান পাশে সাদা জায়গা অপসারণ করতে

আপডেট টেবিল SETfield1 = RTRIM (ক্ষেত্র 1);

প্রাক্তন। আপডেট সদস্য SET firstName = RTRIM (firstName);


একটি সাধারণ উত্তর যা আমি আপনার উত্তর থেকে এবং অন্যান্য লিঙ্ক থেকে রচনা করেছি এবং এটি আমার জন্য কাজ করেছে এবং আমি এটি একটি মন্তব্যে লিখেছি:

 UPDATE FOO set FIELD2 = TRIM(Replace(Replace(Replace(FIELD2,'\t',''),'\n',''),'\r',''));

প্রভৃতি

কারণ trim () সব সাদা শূণ্যস্থান সরাতে পারে না তাই আপনার সমস্ত সাদা শূণ্যস্থানগুলি প্রতিস্থাপন করা এবং এটি ছাঁটাইয়ের চেয়ে ভাল।

আমি আমার উত্তর ভাগ করে নেওয়ার সাহায্য করতে পারে আশা করি :)


প্রথম এবং শেষ নামগুলির একটি প্রাথমিক কী কলামে মানগুলিকে ট্রিম করতে হবে, তাই আমি সব সাদা স্থান ছাঁটাই করতে চাইনি, যা প্রথম এবং শেষ নামের মধ্যে স্থানটি সরাতে চাইবে, যা আমাকে রাখতে হবে। আমার জন্য কি কাজ ছিল ...

UPDATE `TABLE` SET `FIELD`= TRIM(FIELD);

অথবা

UPDATE 'TABLE' SET 'FIELD' = RTRIM(FIELD);

অথবা

UPDATE 'TABLE' SET 'FIELD' = LTRIM(FIELD);

উল্লেখ্য যে FIELD এর প্রথম উদাহরণ একক উদ্ধৃতিতে কিন্তু দ্বিতীয়টি কোটগুলিতে নেই। আমি এইভাবে এটি করতে ছিল অথবা এটি আমাকে একটি সিনট্যাক্স ত্রুটি দেয় যখন এটি উদ্ধৃতি উভয় ছিল যখন এটি একটি সদৃশ প্রাথমিক কী ছিল।


শুধু স্পষ্ট হতে, ডিফল্টরূপে TRIM শুধুমাত্র স্পেস অপসারণ (সব হোয়াইটস্পেস নয়)। এখানে ডক: dev.mysql.com/doc/refman/5.0/en/…





removing-whitespace