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

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

【问题讨论】:

  • 负十进制值没有错,但我认为您的问题可能需要澄清一下。你到底想做什么?

标签: sql decimal sqldatatypes


【解决方案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】:

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2023-03-29
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-08-20
        • 1970-01-01
        • 2012-01-14
        • 2011-02-04
        相关资源
        最近更新 更多