Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/oracle/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 获取ORA-01722:无效数字,即使没有尝试将varchar2转换为数字_Sql_Oracle - Fatal编程技术网

Sql 获取ORA-01722:无效数字,即使没有尝试将varchar2转换为数字

Sql 获取ORA-01722:无效数字,即使没有尝试将varchar2转换为数字,sql,oracle,Sql,Oracle,查询有点长 select user_aud_view.audit_id, user_aud_view.user_id, (users.last_name_txt || CHR(44) || users.first_name_txt) as user_name, user_aud_view.column_name_txt, user_aud_view.old_value_txt, user_aud_view.new_value_txt, case when evaluator.country_id

查询有点长

select user_aud_view.audit_id,
user_aud_view.user_id,
(users.last_name_txt || CHR(44) || users.first_name_txt) as user_name,
user_aud_view.column_name_txt,
user_aud_view.old_value_txt,
user_aud_view.new_value_txt,
case when evaluator.country_id like '%CAN%' then to_char(user_aud_view.audit_last_updated_dt,'YYYY/MM/DD HH12:MI:SS AM')
else to_char(user_aud_view.audit_last_updated_dt,'MM/DD/YYYY HH12:MI:SS AM') end as    audit_last_updated_dt ,
user_aud_view.audit_updated_user_id,
evaluator.evaluator_name_txt,
evaluator.evaluator_id,
TRIM(TO_CHAR(to_evaluatortime(user_aud_view.audit_last_updated_dt,115) ,'Month'))||' '||TO_CHAR(to_evaluatortime(user_aud_view.audit_last_updated_dt,115) ,'dd'||','||' yyyy') AS DAILY_TXT,
trim(to_char(to_evaluatortime(user_aud_view.audit_last_updated_dt,115) ,'Month')) || ' ' || to_char(to_evaluatortime(user_aud_view.audit_last_updated_dt,115) ,'yyyy') AS MONTHLY_TXT,
decode(to_char(to_evaluatortime(user_aud_view.audit_last_updated_dt,115) ,'Q'),1,'January - March',2,'April - June',3,'July - September',4,'October - December') || ' ' || to_char(to_evaluatortime(user_aud_view.audit_last_updated_dt,115) ,'yyyy') AS QUARTERLY_TXT,
to_char(to_evaluatortime(user_aud_view.audit_last_updated_dt,115) ,'yyyy') AS YEARLY_TXT
from user_aud_view,
users,
evaluator
WHERE user_aud_view.evaluator_id = evaluator.evaluator_id
and user_aud_view.user_id = users.user_id
and user_aud_view.audit_last_updated_dt >= to_dbtime(to_date('07/01/2012', 'mm/dd/yyyy'),115)  and user_aud_view.audit_last_updated_dt < to_dbtime(to_date('08/01/2012', 'mm/dd/yyyy'),115)   AND ( (user_aud_view.evaluator_id = 115) )   ORDER BY user_id ASC, user_id ASC
选择user\u aud\u view.audit\u id,
user\u aud\u view.user\u id,
(users.last_name_txt | | CHR(44)| | users.first_name_txt)作为用户名,
user\u aud\u view.column\u name\u txt,
用户_aud_view.old_value_txt,
用户_aud_view.new_value_txt,
当evaluator.country\u id像“%CAN%”时,则为\u char(用户\u aud\u视图.audit\u上次更新\u dt,'YYYY/MM/DD HH12:MI:SS AM')
else to_char(user_aud_view.audit_last_updated_dt,'MM/DD/YYYY HH12:MI:SS AM')结束为audit_last_updated_dt,
用户\u aud\u view.audit\u更新的\u用户\u id,
evaluator.evaluator\u name\u txt,
evaluator.evaluator\u id,
修剪(到字符(到评估时间(用户查看。审计上次更新的数据,115),“月”)到字符(到评估时间(用户查看。审计上次更新的数据,115),“dd”;“yyyy”)作为每日数据,
修剪(到字符(到评估时间(用户-审核-上次更新的数据,115),“月份”));“到字符(到评估时间(用户-审核-上次更新的数据,115),“yyyy”)作为每月文本,
按季度将(至字符(至评估时间(用户aud视图.审计上次更新,115),'Q'),1,'1-3',2,'4-6',3,'7-9',4,'10-12')解码至字符(至评估时间(用户aud视图.审计上次更新,115),'yyyy'),
至字符(至评估时间(用户aud视图.审核上次更新日期115),'yyyy')作为年度文本
从用户视图中,
用户,
评价者
其中用户\u aud\u view.evaluator\u id=evaluator.evaluator\u id
和user\u aud\u view.user\u id=users.user\u id
和用户aud\u view.audit\u last\u updated\u dt>=截止日期(截止日期('07/01/2012','mm/dd/yyyy'),115)和用户aud\u view.audit\u last\u updated\u dt<截止日期('08/01/2012','mm/dd/YYYYYY'),115)和((用户aud\u view.evaluator\u id=115))用户id ASC、用户id ASC
它抱怨这一行的错误:

and user_aud_view.audit_last_updated_dt >= to_dbtime(to_date('07/01/2012', 
'mm/dd/yyyy'),115)  and user_aud_view.audit_last_updated_dt < to_dbtime(to_date('08/01/2012', 'mm/dd/yyyy'),115)   
AND ( (user_aud_view.evaluator_id = 115) )   ORDER BY user_id ASC, user_id ASC
                                                                    *
和用户aud\u view.audit\u last\u updated\u dt>=截止日期(2012年1月7日),
“mm/dd/yyyyy'),115)和用户“aud\u view.audit\u last\u updated\u dt
第21行错误: ORA-01722:无效号码

但是,user_id是一个VARCHAR2字段


我不知道这些字段中的数据,因为我们无法访问该客户的数据库

只是猜测user\u aud\u view.evaluator\u id是基于varchar列的。你可以试试这个:

AND ( (user_aud_view.evaluator_id = '115') )   ORDER BY user_id ASC, user_id ASC 

为什么同一字段有两种排序?“ORDER BY user\u id ASC,user\u id ASC”是jsp struts构造SQL的方式,一个ORDER BY是在分组选择时添加的,另一个是默认添加的。它的类型是NUMBER,但我会确保是这样,因为在生成视图时,它被用作另一个表中的select*,其中它也是一个数字。