如何将带货币符号的货币值插入SQL?它显示超出范围的值

时间:2017-04-24 05:13:38

标签: mysql sql database

enter image description here

这是我的问题哈哈。怎么解决呢?

我必须如下所示:

enter image description here

2 个答案:

答案 0 :(得分:1)

你问怎么样?我认为将符号($)放入money列并将其转换为varchar并不是一个非常好主意。因为在将来操作列时会产生问题,例如应用折扣等。

我的建议是添加一个新列命名货币,其中包含所需的货币值,例如 USD

答案 1 :(得分:0)

选项一 - 最不推荐

由于您要将字符串与数值数据类型混合,因此需要将数据类型更改为varchar。这里有一些关于数据类型的好信息

  

https://www.w3schools.com/sql/sql_datatypes_general.asp

改变表格:

ALTER TABLE `Paintings` 
CHANGE COLUMN `Valuation` `Valuation` VARCHAR(15) NOT NULL;

选项二

如果你真的想将值存储为十进制,只需在查询中连接符号即可在查询中添加字符串:

SELECT *, CONCAT('$',valuation) as 'valuation_nice' FROM Painting

选项三

第三种选择是将货币符号保存在另一个字段symbol

SELECT *, CONCAT(symbol, valuation) as 'valuation_nice' FROM Painting