Нам нужно хранить десятичные числа (цены за единицу) в таблице базы данных. Проблема в том, что нам нужно хранить и отображать одинаковое количество десятичных разрядов, которые конечный пользователь предоставил в качестве пользовательского ввода. Максимальное количество знаков после запятой равно 6. Так, например:
Для начала с например, DECIMAL (10,6), кажется, всегда хранит максимальное количество знаков после запятой (6).
MONEY хранит различное количество знаков после запятой (2-4), но не более 4 (и имеет некоторые другие вопросы, почему мы не хотим его использовать).
Мы знаем, что форматирование всегда должно выполняться на клиенте, который использует данные, но было бы неплохо, если бы мы могли запрашивать данные так, чтобы результат запроса будет иметь правильное количество десятичных знаков автоматически.
Мы готовы добавить еще один столбец, в котором будет храниться количество знаков после запятой, заданных пользователем, и затем использовать этот столбец для форматирования данных для отображения, но это звучит немного сложно.
Если мы добавим еще один столбец, можно ли отформатировать десятичное значение непосредственно в запросе, используя этот столбец?