Как вставить отрицательное значение без символа минус в базе данных MySQL? - PullRequest
0 голосов
/ 30 июня 2018

У меня такой вопрос: я хочу вставить отрицательное значение, например: -456, в мою БД без символа "-" минус ...

Ответы [ 3 ]

0 голосов
/ 30 июня 2018

:) Не знаю, каково ваше намерение, но Используйте два столбца, один для значения и другой для типа значения


my_value (int) | value_type (tinyint, default: 1) // рассмотрим 1 для + и o для -

456 | 0 // ложь или 0 для -456

456 | 1 // истина или 1 для + 456

..:,)

0 голосов
/ 30 июня 2018

Очень странный вопрос. Но если все же вы хотите решение для этого, то вот оно -

Раствор 1

В соответствии с предложением других, вы можете использовать ABS() для удаления знака «-» из данных. НО, я думаю, что в этом случае вы потеряете вашу ценную информацию.

Решение 2

Вы можете использовать номер теста в соответствии с вашим максимальным отрицательным значением. Согласно вашему примеру, для -456, если это максимальное отрицательное значение, вы можете использовать 1000 в качестве контрольного числа. А в логике просто используйте

INSERT INTO Table VALUES( <YourData> + 1000 )

Следовательно, вы сохраните 544 в вашей таблице. Аналогично, в случае положительного значения, например 456, данные будут сохранены как 1456.

Помните , это позволит избежать создания дополнительного столбца для сохранения знака числа ('-' или '+'), НО, в каждом запросе DQL (выберите * ) вы должны использовать свой контрольный номер, рассчитав разницу, чтобы получить правильные данные.

SELECT <YourStoredDataColumnName> - 1000 FROM Table
0 голосов
/ 30 июня 2018

Используйте функцию ABS. Это

ВСТАВИТЬ В СТОИМОСТЬ СТОЛ (ABS (-456))

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...