Ошибка при попытке преобразовать символ в число - PullRequest
1 голос
/ 22 сентября 2011

У меня есть информация, которую я предполагаю, чтобы иметь тип char, поскольку у меня есть следующее (dbms_output.put_line - это функция типа «print», а возвращаемое значение после ->):

dbms_output.put_line( table_record.column_1 ); --> 0.6
dbms_output.put_line( UPPER(table_record.column_1) ); --> 0.6
dbms_output.put_line( LOWER(table_record.column_1) ); --> 0.6

Но я не хочу этого. Я хочу преобразовать этот столбец в тип FLOAT. Когда я пытаюсь:

dbms_output.put_line( to_number(crate_record.column_1) );

У меня ORA-06502: PL / SQL: ошибка числа или значения: ошибка преобразования символа в число.

Почему to_number не работает?

1 Ответ

0 голосов
/ 13 апреля 2012

Пожалуйста, попробуйте изменить сессию и форматную маску

alter session set NLS_NUMERIC_CHARACTERS=".,"

dbms_output.put_line( to_number(crate_record.column_1,999999999.99) );

, и если вы хотите использовать одинаковый десятичный разделитель и разделитель групп для всего приложения, измените NLS_NUMERIC_CHARACTERS в БД, для которой может быть полезна ссылка ниже

https://forums.oracle.com/forums/thread.jspa?threadID=899739

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...