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'
TO_NUMBER 関数を使用する必要があります。
select * from exception where exception_value = to_number('105')
列はVARCHAR型であるため、列の値を数値に変換するのではなく、入力パラメーターを文字列に変換する必要があります。
select * from exception where exception_value = to_char(105);
フォーマットされた番号が必要な場合は、
SELECT TO_CHAR(number, 'fmt')
FROM DUAL;
SELECT TO_CHAR('123', 999.99)
FROM DUAL;
結果123.00
私は提案されたソリューションをテストしました、それらはすべて動作するはずです:
select * from dual where (105 = to_number('105'))
=> 1つのダミー行を配信します
select * from dual where (10 = to_number('105'))
=>空の結果
select * from dual where ('105' = to_char(105))
=> 1つのダミー行を配信します
select * from dual where ('105' = to_char(10))
=>空の結果
to_number(exception_value)= 105の例外からto_number(exception_value)を選択します