Тип данных SQL отрицательный десятичный

#sql #decimal #sqldatatypes

#sql #десятичный #sqldatatypes

Вопрос:

Я вставляю данные в базу данных, у них есть десятичное и отрицательное число, есть ли способ преобразовать десятичный тип данных в отрицательные числа или есть другой тип данных, который я могу использовать?

Комментарии:

1. В отрицательных десятичных значениях нет ничего плохого, но я думаю, что ваш вопрос, возможно, нуждается в некотором уточнении. Что именно вы хотели бы сделать?

Ответ №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. Пожалуйста, укажите вашу СУБД.

Ответ №2:

Вы не указываете, какую СУБД используете, но, по крайней мере, в 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:

Для математического определения десятичное число может быть положительным или отрицательным, и структуры данных знают это, по той же причине не является специальным типом для отрицательных или положительных чисел