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

Làm thế nào để chuyển đổi giá trị dương thành âm khi chèn trong MySQL?

Đầu tiên chúng ta hãy tạo một bảng

mysql> create table recordsDemo
   -> (
   -> UserId int,
   -> Value int
   -> );
Query OK, 0 rows affected (0.52 sec)

Bây giờ, hãy chèn một số bản ghi vào bảng bằng lệnh insert.

Truy vấn như sau

mysql> insert into recordsDemo values(1,10);
Query OK, 1 row affected (0.17 sec)
mysql> insert into recordsDemo values(3,598);
Query OK, 1 row affected (0.18 sec)
mysql> insert into recordsDemo values(5,786);
Query OK, 1 row affected (0.25 sec)
mysql> insert into recordsDemo values(7,189);
Query OK, 1 row affected (0.16 sec)
mysql> insert into recordsDemo values(9,345);
Query OK, 1 row affected (0.14 sec)

Hiển thị tất cả các bản ghi từ bảng bằng cách sử dụng câu lệnh select.

Truy vấn như sau

mysql> select *from recordsDemo;

Sau đây là kết quả

+--------+-------+
| UserId | Value |
+--------+-------+
| 1      | 10    |
| 3      | 598   |
| 5      | 786   |
| 7      | 189   |
| 9      | 345   |
+--------+-------+
5 rows in set (0.00 sec)

Tạo bảng thứ hai. Truy vấn để tạo bảng thứ hai như sau

mysql> create table PositiveToNegativeValueDemo
   -> (
   -> Id int NOT NULL AUTO_INCREMENT PRIMARY KEY,
   -> Money int
   -> );
Query OK, 0 rows affected (0.83 sec)

Đây là truy vấn để chuyển đổi giá trị dương thành âm trong khi chèn

mysql> insert into PositiveToNegativeValueDemo(Id,Money)
   -> select UserId,(-1*Value) from recordsDemo;
Query OK, 5 rows affected (0.15 sec)
Records: 5 Duplicates: 0 Warnings: 0

Bây giờ hãy kiểm tra các bản ghi bảng từ bảng bằng cách sử dụng câu lệnh select.

Truy vấn như sau

mysql> select *from PositiveToNegativeValueDemo;

Sau đây là kết quả

+------+-------+
| Id   | Money |
+------+-------+
| 1    | -10   |
| 3    | -598  |
| 5    | -786  |
| 7    | -189  |
| 9    | -345  |
+------+-------+
5 rows in set (0.00 sec)