MySQL में TRIM(), REPLACE(), या REGEXP_REPLACE() (8.0+) का उपयोग करके नई लाइन वर्ण (\n, \r, \r\n) हटा सकते हैं।
समस्या: डेटा में नई लाइन
mysql> INSERT INTO tblDemotrail VALUES
(1, 'John '),
(2, ' Carol'),
(3, ' Sam '),
(4, 'Tom\n '),
(5, '\nTim ');
समाधान 1: TRIM() - केवल शुरुआत/अंत से
-- ट्रेलिंग नई लाइन हटाएं
UPDATE tblDemotrail
SET name = TRIM(TRAILING '\n' FROM name);
-- लीडिंग और ट्रेलिंग दोनों स्पेस/नई लाइन
UPDATE tblDemotrail
SET name = TRIM(BOTH '\n' FROM name);
-- सभी तरफ से स्पेस और नई लाइन
UPDATE tblDemotrail
SET name = TRIM(name);
समाधान 2: REPLACE() - कहीं भी नई लाइन
-- सभी \n हटाएं
UPDATE tblDemotrail
SET name = REPLACE(name, '\n', '');
-- \r और \r\n भी हटाएं
UPDATE tblDemotrail
SET name = REPLACE(REPLACE(REPLACE(name, '\r\n', ''), '\r', ''), '\n', '');
समाधान 3: REGEXP_REPLACE() (MySQL 8.0+)
UPDATE tblDemotrail
SET name = REGEXP_REPLACE(name, '[\r\n]+', '');
चयन करते समय सफाई (डेटा बदले बिना)
SELECT id, TRIM(REPLACE(REPLACE(name, '\r', ''), '\n', '')) AS clean_name
FROM tblDemotrail;
सर्वोत्तम अभ्यास
- डेटा डालते समय ही साफ करें (एप्लिकेशन लेयर में)।
- बैकएंड वैलिडेशन में
TRIM()औरREPLACE()उपयोग करें। - बड़े अपडेट के लिए बैच में प्रोसेस करें ताकि लॉक न लगे।