Oracle 9i强制转换功能错误 [英] Oracle 9i cast function error

查看:90
本文介绍了Oracle 9i强制转换功能错误的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

当我在下面运行查询时

发生错误。

when i run below query
Error occured.

SELECT 
  cast(substr(T_BILLSUMMARY.OPDNUMBER,1,6) as INTEGER) as OPD,
  substr(T_BILLSUMMARY.OPDNUMBER,8,12) as OPDYEAR,
  T_BILLSUMMARY.BILLTONAME
FROM T_BILLSUMMARY
where cast(substr(T_BILLSUMMARY.OPDNUMBER,1,6) as NUMBER)=10805;





发生错误





Error Occurred

ORA-01722:invalid number





我怎么能解决这个问题...... ???



how can i solve this...???

推荐答案

你好,



试试这个....





Hi,

Try this....


SELECT
CASE WHEN length(translate(substr(T_BILLSUMMARY.OPDNUMBER,1,6),' +-.0123456789',' ')) > 0 
THEN 'Wrong Value'
ELSE cast(substr(T_BILLSUMMARY.OPDNUMBER,1,6) as INTEGER) 
END 
as OPD,
substr(T_BILLSUMMARY.OPDNUMBER,8,12) as OPDYEAR,
T_BILLSUMMARY.BILLTONAME
FROM T_BILLSUMMARY
where cast(substr(T_BILLSUMMARY.OPDNUMBER,1,6) as NUMBER)=10805;





希望这会对你有所帮助。



干杯



Hope this will help you.

Cheers

这篇关于Oracle 9i强制转换功能错误的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆