Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> MySQL

Có nên lưu DOUBLE và DATE trong VARCHAR với MySQL không?

Có, bạn có thể lưu double và date trong VARCHAR. Hãy cùng tạo một bảng trước:

mysql> CREATE TABLE DemoTable (
    -> Amount VARCHAR(20),
    -> JoiningDate VARCHAR(20)
    -> ); Query OK, 0 rows affected (0.96 sec)

Chèn một số bản ghi vào bảng bằng lệnh INSERT. Chúng ta đang chèn giá trị double và date dạng varchar:

mysql> INSERT INTO DemoTable VALUES('150.50','Oct 10,2019'); Query OK, 1 row affected (0.91 sec)
mysql> INSERT INTO DemoTable VALUES('173.45','Sept 11,2018'); Query OK, 1 row affected (0.20 sec)
mysql> INSERT INTO DemoTable VALUES('173.90','Jan 01,2017'); Query OK, 1 row affected (0.16 sec)

Hiển thị tất cả bản ghi từ bảng bằng lệnh SELECT:

mysql> SELECT * FROM DemoTable;

Kết quả sẽ như sau:

+--------+--------------+
| Amount | JoiningDate  |
+--------+--------------+
| 150.50 | Oct 10,2019  |
| 173.45 | Sept 11,2018 |
| 173.90 | Jan 01,2017  |
+--------+--------------+
3 rows in set (0.00 sec)

Bây giờ, chúng ta đang chuyển đổi các bản ghi VARCHAR sang kiểu DOUBLE và DATE:

mysql> SELECT Amount+0.0 AS DoubleValue, STR_TO_DATE(JoiningDate, '%M %d,%Y') AS Date FROM DemoTable;

Kết quả sẽ như sau:

+-------------+------------+
| DoubleValue | Date       |
+-------------+------------+
|       150.5 | 2019-10-10 |
|      173.45 | 2018-09-11 |
|       173.9 | 2017-01-01 |
+-------------+------------+
3 rows in set (0.04 sec)