2014-01-17 3 views
0

У меня есть таблица в Oracle, как:Преобразование целого числа в номер (P, S) Во время вставки

create table TEST (num number(7,2)) 

И я хочу, чтобы вставить целое число в эту таблицу так:

insert into TEST (num) values (5555522) 

I «Я ищу способ конвертировать целое число« 5555522 »автоматически в число (5,2), чтобы запись содержала 55555.22 вместо 55555. Есть ли какая-то функция типа« setscale(5555522, 2) », которая просто интерпретирует последние 2 числа как десятичное место?

Я уже проверил to_number() Funktion в документах Oracle. Но он ожидает правильную форматированную входную строку типа to_number ('55555.22', 99999D99), которая не подходит в моем случае.

+0

Как насчет 555552 -> вы хотите его как 55555,2, если я думаю, правильно или 5555.52? Только для этих осложнений нет ничего, чтобы справиться с этим. –

+0

Да, если я использую 555552, то он должен быть преобразован в 5555.52. –

+0

. Если так деление на 100 выполняйте работу, как указано в ответе ниже. Но, пожалуйста, убедитесь, что вы добавляете нули до конца, если числа имеют менее 2 десятичных знаков. –

ответ

0

Oracle должен сделать это неявно для вас, после того, как вы деленный на 100:

insert into TEST (num) values (5555522/100) 

EDIT: Как вы сказали, оно не подходит, вы должны изменить таблицу для того, чтобы сделать это:

create table TEST (num number(7,2)) 
+0

Это все равно не поместится в число (5,2). – GriffeyDog

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