在 MySQL 中將雙精度數和日期儲存在 VARCHAR 中可以嗎?


是的,您可以在 VARCHAR 中儲存雙精度數和日期。我們首先建立一個表 −

mysql> create table DemoTable
   -> (
   -> Amount varchar(20),
   -> JoiningDate varchar(20)
   -> );
Query OK, 0 rows affected (0.96 sec)

使用插入命令在表中插入一些記錄。我們插入的是 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)

使用 select 語句顯示錶中的所有記錄 −

mysql> select * from DemoTable;

這將產生以下輸出 −

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

現在,我們將 VARCHAR 記錄儲存到 DOUBLE 和 DATE 型別 −

mysql> select Amount+0.0 as DoubleValue,str_to_date(JoiningDate,'%M %d,%Y') as Date from DemoTable;

這將產生以下輸出 −

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

更新於: 2020-02-26

174 次瀏覽

開啟您的 職業

透過完成課程獲得認證

開始學習
廣告