2013-04-25 4 views
0

Я создал таблицу и 1 из столбцов в ней - float (named ratio),Как установить длину столбца поплавка по умолчанию?

также имеют 2x int столбцы типа INT (KILL и DEATH), колонка отношения автоматически обновляется триггером (каждый раз KILL или DEATH обновляется, коэффициент обновляется с помощью триггера),

Размер столбца (отношение) поплавка слишком велик, я имею в виду, что его длина слишком длинная, как я могу определить размер столбца поплавка по умолчанию ?

спасибо заранее,

+2

Ну, вы, вероятно, должны использовать DECIMAL вместо FLOAT для стартеров. –

+0

Вы можете использовать вычисленный столбец, если вы не можете сэкономить 32 бита в каждой строке. – HABO

+1

«длина слишком длинная» - можете ли вы пояснить, что вы подразумеваете под этим? Вы хотите сохранить данные с фиксированной точностью (скажем, 2 десятичных знака), или просто хотите отобразить ее чисто после того, как вы ее вытащили? – PinnyM

ответ

2

Соотношение между двумя столбцами то, что вы должны быть в расчете на лету, как вы запрос таблицы. Использование триггера - перебор, ИМХО. Вы можете использовать просмотр или вычисленный столбец, если вас беспокоит повторение вашей логики (например, избежание деления на ноль) снова и снова.

Форматирование столбца (количество знаков после запятой) - это проблема приложения или отчета, а не проблема с базой данных. Если в какой-то момент вы решите, что на самом деле хотите получить больше точности на одном из нескольких дисплеев, вам придется делать изменения в базе данных, а не просто изменять приложения. У вас также может быть проблема, если у вас когда-либо было соотношение 1 в 1000 или меньше: если вы ограничиваете себя до 3 десятичных знаков, ваше соотношение будет рассчитываться как 0, что может вызвать проблемы в вашей логике.

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