Есть ли способ указать, что тип данных double
всегда будет иметь 2 точки после того, как десятичная точка, как обычно, имеет валюту (oracle db)?Добавление десятичной точки и нулей в Oracle
что:
100 will be converted to 100.00
101.1 will be converted to 101.10
Пробовал его отливки и установки точного масштаба, но не повезло с этим оно не добавить десятичную точку по умолчанию и нули
SELECT CAST((600.2) AS NUMERIC(28,2)) FROM DUAL;
дает мне 600.2
хранить их в виде чисел и использовать to_char) '' функцию (для форматирования вывода. 'to_char (num_col, 'fm990D00')'. Измените формат sting так, чтобы он соответствовал длине числа. [Пример] (http://sqlfiddle.com/#!4/9eecb7/4474) –
Нельзя использовать приблизительный тип данных с плавающей точкой, такой как 'double' (который является' BINARY_DOUBLE' в Oracle). Вместо этого используйте точный тип, например 'NUMBER (10,2)'. Что касается десятичных знаков, вы уже получили свой ответ; 100 = 100,0 = 100,00 = 100 000 и т. Д., Т. Е. Сохраненное число всегда одно и то же. Если вам нужно определенное представление, используйте «to_char», чтобы показать номер в строке желаемого формата. –