У меня есть столбец varchar с некоторыми данными, например: 0000000000,0000000123,0000000010, ... Я хочу преобразовать этот столбец в целое число, но получаю сообщение об ошибке, это не число. Итак, я подумал, что мне нужно удалить левый 0 из varchar, но как мне это сделать?

-2
Bigjo 17 Сен 2018 в 20:52

2 ответа

Лучший ответ

Использовать функцию to_number

select to_number('000001') from dual it will return 1

Так что твой случай

select to_number(column) from your_table

1
Zaynul Abadin Tuhin 17 Сен 2018 в 17:54

Я не уверен, в чем твоя проблема. Оба они работают, когда я их пробую:

select cast('0000000123' as int), to_number('0000000123')
from dual;

Вот rextester, демонстрирующий, что это работает в Oracle.

2
Gordon Linoff 17 Сен 2018 в 19:53