#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:
Для математического определения десятичное число может быть положительным или отрицательным, и структуры данных знают это, по той же причине не является специальным типом для отрицательных или положительных чисел