Computer >> Máy Tính >  >> Lập trình >> MySQL

Chúng ta có thể thay thế tất cả các chữ số của giá trị cột thành số 0 ngoại trừ chữ số đầu tiên không?

Có, chúng tôi có thể thay thế tất cả các chữ số của giá trị cột thành 0 ngoại trừ chữ số đầu tiên. Đầu tiên chúng ta hãy xem một ví dụ và tạo một bảng -

mysql> create table DemoTable744 (Number varchar(100));
Query OK, 0 rows affected (0.47 sec)

Chèn một số bản ghi vào bảng bằng lệnh chèn -

mysql> insert into DemoTable744 values('537737736252');
Query OK, 1 row affected (0.14 sec)
mysql> insert into DemoTable744 values('989000099999');
Query OK, 1 row affected (0.24 sec)
mysql> insert into DemoTable744 values('343225666666664533');
Query OK, 1 row affected (0.21 sec)
mysql> insert into DemoTable744 values('4322111899494');
Query OK, 1 row affected (0.15 sec)

Hiển thị tất cả các bản ghi từ bảng bằng câu lệnh select -

mysql> select *from DemoTable744;

Điều này sẽ tạo ra kết quả sau -

+--------------------+
| Number             |
+--------------------+
| 537737736252       |
| 989000099999       |
| 343225666666664533 |
| 4322111899494      |
+--------------------+
4 rows in set (0.00 sec)

Sau đây là truy vấn để thay thế tất cả các chữ số của giá trị cột thành 0 ngoại trừ chữ số đầu tiên -

mysql> select CONCAT(LEFT(Number, 1), REPEAT('0', CHAR_LENGTH(Number) - 1)) 
   AS AfterAddingZero from DemoTable744;

Điều này sẽ tạo ra kết quả sau -

+--------------------+
| AfterAddingZero    |
+--------------------+
| 500000000000       |
| 900000000000       |
| 300000000000000000 |
| 4000000000000      |
+--------------------+
4 rows in set (0.06 sec)