-1
尝试运行我的查询时,我不断收到此错误“ORA-01722:invalid number”。我已经重新编写了几次试图绕过错误的查询,但似乎无法做到这一点。必须将案例陈述抛出,以便按照GPA课程时间比较课程级别。当然有人对我的问题有一些提示或答案!在此先感谢Oracle SQL Developer“ORA-01722:invalid number”
select distinct
initcap(stride_last_name),
stride_first_name,
substr(stride_middle,1,1),
case
when nvl(sum(gpa_hours_earned),'0') between '0' and '29.9' then 'Freshmen'
when nvl(sum(gpa_hours_earned),'0') between '30' and '59.9' then 'Sophomore'
when nvl(sum(gpa_hours_earned),'0') between '60' and '89.9' then 'Junior'
when nvl(sum(gpa_hours_earned),'0') >= '90' then 'Senior'
else 'Freshmen'
end
感谢您的帮助,我很感激它!不幸的是,在收到你的建议之后,它仍然在向我抛出错误代码。我不确定这个世界正在造成什么!我删除了这个独特的,拿出了字符串文字,并按照你的建议重新格式化了case语句。有没有下一步你可能认为我可以试一试? – GMitchell
'gpa_hours_earned'实际上是数字列还是字符串?如果它是一个字符串,它几乎肯定不会,并且可能包含无法转换的错误值。 –
@GMitchell - 如果它是一个数字,你能编辑问题来显示整个(原始)查询,表格定义和完整的错误信息吗?错误可能来自您未显示的内容。 –