Вопрос по oracle, numbers, varchar – оракул варчар к номеру

28

Как конвертировать значение oracle varchar в число?

например

table - exception
exception_value 555 where exception_value is a varchar type

Я хотел бы проверить значение столбца exception_value

select * from exception where exception_value = 105 instead of
select * from exception where exception_value = '105'

Ваш Ответ

5   ответов
2

select * from dual where (105 = to_number('105'))

= & GT; поставляет один фиктивный ряд

select * from dual where (10 = to_number('105'))

= & GT; пустой результат

select * from dual where ('105' = to_char(105))

= & GT; поставляет один фиктивный ряд

select * from dual where ('105' = to_char(10))

= & GT; пустой результат

3

SELECT TO_CHAR(number, 'fmt')
   FROM DUAL;

SELECT TO_CHAR('123', 999.99)
   FROM DUAL;

Result 123.00

36

TO_NUMBER функция:

select * from exception where exception_value = to_number('105')
11

вы должны преобразовать входной параметр в строку, а не преобразовывать значение столбца в число:

select * from exception where exception_value = to_char(105);
1

где to_number (exception_value) = 105

Похожие вопросы