SQL数据类型负十进制

use*_*331 16 sql decimal sqldatatypes

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

小智 18

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)
Run Code Online (Sandbox Code Playgroud)

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


Mar*_*c B 5

您没有说明您正在使用哪个 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)
Run Code Online (Sandbox Code Playgroud)