如何在MySQL数据库中插入不带负号的负值?

时间:2018-06-30 09:26:13

标签: mysql sql

我的问题是..我想在数据库中插入例如-456的负值,而没有“-”减号...

3 个答案:

答案 0 :(得分:0)

使用ABS功能。那是

插入表值(ABS(-456))

答案 1 :(得分:0)

:)不知道你的意图是什么,但是  使用两列,一列用于值,另一列用于值类型


my_value(int)| value_type(tinyint,默认值:1)//将+视为1,将-视为-

456 | 0 // false或-456为0

456 | 1 // true或+456为1

..::)

答案 2 :(得分:0)

一个非常奇怪的问题。但是,如果您仍然想要解决方案,那么这里是-

解决方案1 ​​

根据其他人的建议,您可以使用ABS()从数据中删除“-”号。但是,我认为在这种情况下,您会丢失宝贵的信息。

解决方案2

您可以根据最大负值使用基准数字。根据您的示例,对于-456,如果它是最大负值,则可以使用1000作为基准数字。在逻辑上只需使用

INSERT INTO Table VALUES( <YourData> + 1000 )

因此,您将在表中保存544。同样,在正值的情况下(例如456),数据将另存为1456。

记住 ,它将避免您在每个DQL查询中创建额外的列来保存您的数字符号(“-”或“ +”)(但)选择*),则必须通过计算差异使用基准编号来获取正确的数据。

SELECT <YourStoredDataColumnName> - 1000 FROM Table