SQL 数据类型 负十进制

Posted

技术标签:

【中文标题】SQL 数据类型 负十进制【英文标题】:SQL DataType Negative Decimal 【发布时间】:2011-12-23 22:09:45 【问题描述】:

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

【问题讨论】:

负十进制值没有错,但我认为您的问题可能需要澄清一下。你到底想做什么? 【参考方案1】:

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。

【讨论】:

【参考方案2】:

您没有说明您使用的是哪个 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)

【讨论】:

【参考方案3】:

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

【讨论】:

以上是关于SQL 数据类型 负十进制的主要内容,如果未能解决你的问题,请参考以下文章

数据类型理论

integer在数据类型中代表啥

sql数据类型都有哪些

Java复习二 基本数据类型与变量和常量

sql 数字数据类型,数字,十进制,浮点数

基本数据类型