#sql #oracle #numbers #scale #precision
#sql #Oracle #числа #масштаб #точность
Вопрос:
У меня есть столбец с числовым типом данных. В этом столбце у меня есть значения с масштабом и точностью, но также доступен только масштаб. Я хотел бы, чтобы при запросе данных на выходе были указаны масштаб и точность для всех полей.
create table test
(
column number
);
insert into test values (123);
insert into test values (0);
insert into test values (15.06);
insert into test values (78.78);
insert into test values (12.3);
commit;
столбец
123
0
15.06
78.78
12.3
когда я запрашиваю данные, я хотел бы иметь выходные данные в виде:
столбец
123.00
0.00
15.06
78.78
12.30
Можете ли вы указать, как я должен написать запрос, чтобы получить вышеуказанный результат? Выходные данные также должны быть числовыми. Часть точности не является фиксированной.
Комментарии:
1. Итак, вы хотите отформатировать число ?
Ответ №1:
Преобразуйте в нужный формат:
select to_char(col, '990.00')
from t;
Здесь находится db<>fiddle.
Вы можете управлять масштабом, регулируя рисунок. Например, для четырех знаков после запятой:
select to_char(col, '990' || rpad('.', 4 1, '0'))
from test;
Я не знаю, как управлять результирующим набором, чтобы значением было число.
Комментарии:
1. Привет. Это решение работает, только если я знаю номер масштаба, но что, если я его не знаю? Мне нужно простое решение, если оно существует. Конечным результатом должно быть число.
Ответ №2:
Комментарии:
1. Выходные данные не являются числом! Я хотел бы иметь числовой вывод, отформатированный как указано выше.