oracle varchar到数字

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了oracle varchar到数字相关的知识,希望对你有一定的参考价值。

如何将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'))

=>提供一个虚拟行

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

=>空结果

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

=>提供一个虚拟行

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

=>空结果

另一答案

从异常中选择to_number(exception_value),其中to_number(exception_value)= 105

以上是关于oracle varchar到数字的主要内容,如果未能解决你的问题,请参考以下文章

我想将数据从oracle数据库导出到csv,我在varchar列上放了一个数字过滤器。它发生ORA:01722错误。请建议

如何在oracle数据库中获取varchar2的声明大小

sql Oracle Filter数字varchar

在 QueryContext Oracle 的数字 varchar 字段中附加前导零

在oracle中将varchar2转换为数字

varchar2存储汉字,英文字符,数字在oracle中的多少