Это, должно быть, глупый вопрос, но я не могу найти правильный способ справиться с приведенным ниже сценарием.
Моя цель - взять число в столбце varchar и привести его к десятичному числу. Тем не менее, я также должен убедиться, что десятичные разряды остаются нетронутыми. Как мне добиться этого и убедиться, что тип данных останется DECIMAL (13,3).
select TO_CHAR(CAST(11.0001 AS DECIMAL(13,3)) ,9999999999.999) from dual; -- O/p : 11.000; Datatype : VARCHAR2
select TO_CHAR(CAST(0.0001 AS DECIMAL(13,3)) ,9999999999.999) from dual; -- O/p : .000; Datatype : VARCHAR2
select CAST(11.0001 AS DECIMAL(13,3)) from dual; -- O/p : 11; Datatype : DECIMAL(13,3)
select CAST(0.0001 AS DECIMAL(13,3)) from dual; -- O/p : 0; Datatype : DECIMAL(13,3)
В качестве выходных данных я буду искать:
Input : 11.0001 VARCHAR(40) Output : 11.000 DECIMAL(13,3)
Input : 0.0001 VARCHAR(10) Output : 0.000 DECIMAL(13,3)
Input : 18 VARCHAR(40) Output : 18 DECIMAL(13,3)
Любой Помощь будет оценена.
Спасибо