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

Làm thế nào để chuyển đổi Varchar thành Double trong SQL?

Bạn có thể chuyển đổi varchar thành double bằng cách sử dụng hàm CAST (). Cú pháp như sau:

SELECT yourColumnName1,yourColumnName2,......N, CAST(yourColumnName AS DECIMAL(TotalDigit,DigitAfterDecimalPoint)) anyVariableName FROM yourtableName
ORDER BY anyVariableName DESC;

Để hiểu cú pháp trên, chúng ta hãy tạo một bảng. Truy vấn để tạo bảng như sau:

mysql> create table VarcharToDouble
   -> (
   -> Id int NOT NULL AUTO_INCREMENT,
   -> Name varchar(10),
   -> Amount varchar(10) ,
   -> PRIMARY KEY(Id)
   -> );
Query OK, 0 rows affected (0.67 sec)

Chèn một số bản ghi trong bảng bằng lệnh chèn. Truy vấn như sau:

mysql> insert into VarcharToDouble(Name,Amount) values('John','456.78');
Query OK, 1 row affected (0.14 sec)
mysql> insert into VarcharToDouble(Name,Amount) values('Larry','8465.98');
Query OK, 1 row affected (0.18 sec)
mysql> insert into VarcharToDouble(Name,Amount) values('Mike','9083.45');
Query OK, 1 row affected (0.12 sec)
mysql> insert into VarcharToDouble(Name,Amount) values('Sam','46475.50');
Query OK, 1 row affected (0.19 sec)
mysql> insert into VarcharToDouble(Name,Amount) values('Carol','10003.35');
Query OK, 1 row affected (0.17 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 VarcharToDouble;

Sau đây là kết quả:

+----+-------+----------+
| Id | Name  | Amount   |
+----+-------+----------+
|  1 | John  | 456.78   |
|  2 | Larry | 8465.98  |
|  3 | Mike  | 9083.45  |
|  4 | Sam   | 46475.50 |
|  5 | Carol | 10003.35 |
+----+-------+----------+
5 rows in set (0.00 sec)

Đây là truy vấn để chuyển đổi varchar thành double bằng CAST ():

mysql> select Id,Name, CAST(Amount AS DECIMAL(10,2)) TotalAmount from VarcharToDouble
   -> order by TotalAmount desc;

Sau đây là kết quả:

mysql> select Id,Name, CAST(Amount AS DECIMAL(10,2)) TotalAmount from VarcharToDouble
   -> order by TotalAmount desc;