SQL数据类型负十进制

时间:2011-11-07 20:05:58

标签: sql decimal sqldatatypes

我将数据插入数据库,它们有一个小数和一个负数,有没有办法将DataType Decimal转换为负数,还是有另一种数据类型我可以使用?

3 个答案:

答案 0 :(得分:16)

decimal数据类型也可以存储负数。所以要回答你的问题,是的,你可以使用decimal数据类型来存储负十进制数。

以下是一些证明:

create table NegativeDecimal
(
    somedec decimal(10, 4) not null
)
go

insert into negativedecimal
select -12.3
union all
select 16.4
go

select *
from NegativeDecimal

somedec
---------------------------------------
-12.3000
16.4000

(2 row(s) affected)

编辑:如果您使用的是SQL Server,则提供此功能。请指定您的RDBMS。

答案 1 :(得分:3)

您没有说明您正在使用哪个DBMS,但至少在MySQL上,小数点支持否定:

mysql> create table x (x decimal(5,2));
Query OK, 0 rows affected (0.06 sec)

mysql> insert into x (x) values (-3.14);
Query OK, 1 row affected (0.00 sec)

mysql> select * from x;
+-------+
| x     |
+-------+
| -3.14 |
+-------+
1 row in set (0.00 sec)

答案 2 :(得分:0)

对于数学定义,十进制数可以是正数或负数,数据结构知道,出于同样的原因,不是负数或正数的特殊类型