У меня возникли проблемы с пониманием того, почему следующие запросы возвращают данные результаты.
Запрос 1:
SELECT TO_NUMBER('$1,000.95', '$999,999.999')
FROM dual;
возвращается 1000.95
.
Почему этот запрос не возвращается $1000.95
или $1,000.95
? Удаляет ли функция TO_NUMBER
все форматирование (кроме .
)?
Запрос 2:
SELECT TO_NUMBER('1,000.95', '$999,999.999')
FROM dual;
возвращается ORA-01722: invalid number
.
Я полагаю, что я это понимаю немного лучше - форматная маска не соответствует формату числа. Есть ли способ вернуть $
в число (кроме использования CONCAT
или ||
)?
Thanks - very clear. Доступны ли только возможные символы в числах '.' и' -', или есть другие? –
хорошо, что также зависит от того, как количество представлено вам вашей ОС или программным обеспечением и может быть выполнено с помощью настроек локального/валютного/и т.д., оно не хранится так же БД – AnthonyBlake