2015-09-16 4 views
0

Я хочу, чтобы иметь поле числа с двумя знаками после запятой и 1 десятичного местом, где она могла бы признает как 1.1 и 1.10, 2.2, 2.20 и т.д.базы данные MySQL поле Decimal Datatype

Я попытался с помощью Decimal типа данных

Create table Number (Sample decimal (3,2); 

При попытке ввода выходы 1.10, что мне делать?

+0

было бы здорово иметь более широкий контекст, поэтому вам нужно различать 1.1 и 1.10. Десятичное значение не может выполнять трюк - поле строки является единственным способом. –

+1

Обращайтесь с презентацией в своей логике. Какой бы язык вы ни использовали для этого –

+0

Не путайте с типами. Предложение от @juergend является безусловно лучшим. Также это чистая математика, 1,1 равна 1,10, которая равна 1,100000000000000000. Было бы лучше, если бы вы попытались объяснить, почему вам нужна эта разница! –

ответ

0

Когда вы выбираете форму таблицы, проверяете вторую десятичную цифру и при необходимости делаете усечение. Смотрите ниже код:

select case when ((1.10*100)%10) > 0 then 1.10 else truncate(1.10, 1) end; 
select case when ((1.12*100)%10) > 0 then 1.12 else truncate(1.12, 1) end; 

Вы можете использовать его в качестве select case when ((mydecimalcolumn)%10) > 0 then mydecimalcolumn else truncate(mydecimalcolumn, 1) end mydecimalcolumn, othercolumn1, othercolumn2 from mytable;

Смежные вопросы