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 数据类型 负十进制的主要内容,如果未能解决你的问题,请参考以下文章