web-dev-qa-db-ja.com

SQLデータ型の負の10進数

データベースにデータを挿入していますが、小数と負の数がありますが、DataType Decimalを負の数にする方法はありますか、または使用できる別のデータ型がありますか?

16
user979331

decimalデータ型には負の数も格納できます。したがって、質問に答えるには、decimalデータ型を使用して負の10進数を格納できます。

ここにいくつかの証拠があります:

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を指定してください。

17
user596075

どのDBMSを使用しているかは明記しませんが、少なくともMySQLでは、負数は10進数でサポートされています。

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

数学の定義では、10進数は正または負である可能性があり、データ構造は、同じ理由で負または正の数値の特別な型ではないことを知っています

0
elopez