MySQL-এ স্ট্রিং কলামের প্রথম ডিজিট বাদে বাকি সব ডিজিটকে ০ দিয়ে প্রতিস্থাপন করতে CONCAT(), LEFT(), REPEAT(), CHAR_LENGTH() ব্যবহার করুন।
উদাহরণ
mysql> CREATE TABLE DemoTable744 (Number VARCHAR(100));
Query OK, 0 rows affected (0.47 sec)
mysql> INSERT INTO DemoTable744 VALUES
('537737736252'), ('989000099999'), ('343225666666664533'), ('4322111899494');
Query OK, 4 rows affected
মূল ডেটা
mysql> SELECT * FROM DemoTable744;
+--------------------+ | Number | +--------------------+ | 537737736252 | | 989000099999 | | 343225666666664533 | | 4322111899494 | +--------------------+
প্রথম ডিজিট রেখে বাকি ০
mysql> SELECT CONCAT(LEFT(Number, 1), REPEAT('0', CHAR_LENGTH(Number) - 1)) AS AfterAddingZero
FROM DemoTable744;
+--------------------+ | AfterAddingZero | +--------------------+ | 500000000000 | | 900000000000 | | 300000000000000000 | | 4000000000000 | +--------------------+
ফাংশন ব্যাখ্যা
LEFT(Number, 1)→ প্রথম ১ ক্যারেক্টারCHAR_LENGTH(Number) - 1→ বাকি ক্যারেক্টার সংখ্যাREPEAT('0', n)→ '0' কে n বার রিপিট করেCONCAT(...)→ দুটো জুড়ে দেয়
আপডেট করতে চাইলে
UPDATE DemoTable744
SET Number = CONCAT(LEFT(Number, 1), REPEAT('0', CHAR_LENGTH(Number) - 1));
ব্যবহার: ক্রেডিট কার্ড মাস্কিং, ফোন নম্বর আংশিক হাইড, সংবেদনশীল ডেটা অ্যানোনিমাইজেশন।