মাইএসকিএলে ডেটা সারি থেকে নতুন রেখার অক্ষরগুলি কীভাবে সরিয়ে নেওয়া যায়?


87

আমি পিএইচপি স্ক্রিপ্টের সমস্ত সারিতে লুপ করতে পারি এবং করতে পারি

UPDATE mytable SET title = "'.trim($row['title']).'" where id = "'.$row['id'].'";

এবং ট্রিম n মুছে ফেলতে পারে

তবে আমি কেবল ভাবছিলাম যে একটি ক্যোয়ারিতেও একই কিছু করা যায়?

 update mytable SET title = TRIM(title, '\n') where 1=1

এটা কি কাজ করবে? আমি তখন লুপের প্রয়োজন ছাড়াই কেবল এই ক্যোয়ারীটি সম্পাদন করতে পারি!

ধন্যবাদ

(পিএস: আমি এটি পরীক্ষা করতে পারি তবে টেবিলটি বেশ বড় এবং ডেটা নিয়ে গোলযোগ করতে চাইছে না, তাই কেবল ভেবে দেখেছি আপনি যদি এর আগে কিছু পরীক্ষা করে দেখে থাকেন)


আপনি কেবল সেই ধারাটি থেকে মুক্তি পেতে পারেন ... সাবধানে ডাব্লু / আপনার ট্রিম থাকুন যদিও সেটে আপনার অন্যান্য চরিত্র থাকতে পারে (যেমন গাড়ীর ফেরত '' r ')
জেকলে 16

আপনি এই প্রশ্ন জিজ্ঞাসা করার আগে এটি পরীক্ষা করা উচিত ছিল। এটা কাজ করে। আপনি যদি বড় টেবিলে এটি পরীক্ষা করতে চান তবে আপনি LIMIT টি ধারা ব্যবহার করতে পারেন।
লুকাসজ লাইসিক

কোথায় দোষের সাথে ভুল? শুধু কৌতূহলী
ফিল প্যাফোর্ড 17

@ ফিলিফ্যাফোর্ড কিছুই নেই, প্রযুক্তিগত দিক থেকে এটি কেবল অতিরিক্ত কাজ নয়। (আমি জানি এটি> 5 বছর বয়সী, তবে এটি পড়তে আসা অন্যান্য লোকদের সহায়তা করতে পারে))
বিং

উত্তর:


121

আপনার বাক্য গঠন ভুল:

update mytable SET title = TRIM(TRAILING '\n' FROM title)

যোগ:

ক্ষেত্রের শুরুতে যদি নতুন লাইনের চরিত্রটি থাকে:

update mytable SET title = TRIM(LEADING '\n' FROM title)

6
এমএসএসকিউএল থেকে আসা, এই সিনট্যাক্সটি আমার কাছে খুব বিদেশী ছিল। আমি ভেবেছিলাম আপনি সিউডোকোড ব্যবহার করছেন! তবে এটি কার্যকর হয়েছিল :)
জেফ

রেফারেন্সের জন্য ট্রিমে ডকুমেন্টেশন ()
জি

122
UPDATE test SET log = REPLACE(REPLACE(log, '\r', ''), '\n', '');

আমার জন্য কাজ।

এটির মতো হলেও এটি \ r \ n থেকে মুক্তিও পাবে of

http://lists.mysql.com/mysql/182689


8
এটি iling n পেছন সরিয়ে দেয় না, এটি সমস্ত remove n সরিয়ে দেয়, যা এখানে পছন্দসই নয়।
দীর্ঘায়ু

20
এটি ঠিক ওপি-র জন্য কাজ নাও করতে পারে, তবে আমি যে সিচ নিয়ে কাজ করছি তাতে সহায়তা করেছে, +1
মাইক পার্সেল

আমার জন্য কাজ করেছেন, আপনাকে ধন্যবাদ।
এক্সন

ঠিক আমার যা দরকার ছিল
user3453428

14

1) সমস্ত নতুন লাইন এবং ট্যাব অক্ষর শূন্যস্থান দিয়ে প্রতিস্থাপন করুন ।

2) সমস্ত নেতৃস্থানীয় এবং অনুসরণযোগ্য স্থানগুলি সরান ।

 UPDATE mytable SET `title` = TRIM(REPLACE(REPLACE(REPLACE(`title`, '\n', ' '), '\r', ' '), '\t', ' '));


6

এক্সেল থেকে আমদানি করার সময় পেছনের রিটার্ন সরিয়ে দেয়। আপনি এটি কার্যকর করার সময়, আপনি একটি ত্রুটি পাবেন যে কোনও যেখানে নেই; উপেক্ষা করুন এবং কার্যকর করুন।

UPDATE table_name SET col_name = TRIM(TRAILING '\r' FROM col_name)

2
UPDATE mytable SET title=TRIM(REPLACE(REPLACE(title, "\n", ""), "\t", ""));

4
এটি iling n পেছন সরিয়ে দেয় না, এটি সমস্ত remove n সরিয়ে দেয়, যা এখানে পছন্দসই নয়।
দীর্ঘায়ু

0

আমার 2 সেন্ট।

আমার \ n এর থেকে মুক্তি পেতে আমার একটি do n করা দরকার। আশা করি যে কাউকে সাহায্য করবে।

update mytable SET title = TRIM(TRAILING '\\n' FROM title)

0

নতুন লাইন অক্ষরের জন্য

UPDATE table_name SET field_name = TRIM(TRAILING '\n' FROM field_name);
UPDATE table_name SET field_name = TRIM(TRAILING '\r' FROM field_name);
UPDATE table_name SET field_name = TRIM(TRAILING '\r\n' FROM field_name);

সমস্ত সাদা স্থান অক্ষরের জন্য

UPDATE table_name SET field_name = TRIM(field_name);
UPDATE table_name SET field_name = TRIM(TRAILING '\n' FROM field_name);
UPDATE table_name SET field_name = TRIM(TRAILING '\r' FROM field_name);
UPDATE table_name SET field_name = TRIM(TRAILING '\r\n' FROM field_name);
UPDATE table_name SET field_name = TRIM(TRAILING '\t' FROM field_name);

আরও পড়ুন: মাইএসকিউএল ট্রিম ফাংশন


0

উপরের উত্তরগুলি নিয়ে খেলছেন, এটি আমার পক্ষে কাজ করে

REPLACE(REPLACE(column_name , '\n', ''), '\r', '')
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.