web-dev-qa-db-fra.com

Décimal négatif du type de données SQL

Im insérant des données dans une base de données, ils ont un nombre décimal et un nombre négatif, existe-t-il un moyen de décoder le DataType en nombres négatifs ou existe-t-il un autre type de données que je peux utiliser?

17
user979331

Le type de données decimal peut également stocker des nombres négatifs. Donc, pour répondre à votre question, oui, vous pouvez utiliser le type de données decimal pour stocker des nombres décimaux négatifs.

Voici une preuve:

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)

EDIT: Ceci est fourni si vous utilisez SQL Server. Veuillez spécifier votre SGBDR.

18
user596075

Vous ne précisez pas quel SGBD vous utilisez, mais sur MySQL au moins, les négatifs sont pris en charge en décimales:

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)
4
Marc B

Pour la définition mathématique, le nombre décimal peut être positif ou négatif et les structures de données savent que, pour la même raison, ce n'est pas un type spécial pour les nombres négatifs ou positifs

0
elopez