web-dev-qa-db-ja.com

oracle varcharからnumber

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'
29
user141511

TO_NUMBER 関数を使用する必要があります。

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

列はVARCHAR型であるため、列の値を数値に変換するのではなく、入力パラメーターを文字列に変換する必要があります。

select * from exception where exception_value = to_char(105);
12
Tony Andrews

フォーマットされた番号が必要な場合は、

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

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

結果123.00

3
Arijit

私は提案されたソリューションをテストしました、それらはすべて動作するはずです:

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))

=>空の結果

2
Andreas L.

to_number(exception_value)= 105の例外からto_number(exception_value)を選択します

1
dpbradley