Oracle SQL Developer查询最大评分时,Null值如何输出'N/A'?
问题解决:Oracle SQL查询最大值并处理Null值
你的SQL语句存在几处语法错误,导致无法在Oracle SQL Developer中正常运行,具体问题和修正方案如下:
错误点分析
- 错误地将
'N/A'放入MAX()函数的参数中,MAX()仅需传入目标字段名 TO_CHAR()调用格式错误,正确写法是TO_CHAR(表达式),你把额外参数放错了位置- 缺少
SELECT关键字,Oracle SQL查询必须以SELECT开头 NVL()函数需要两个参数,原语句仅传入了一个
修正后的SQL语句
SELECT NVL(TO_CHAR(MAX(poi_review_rating)), 'N/A') AS max_rating FROM my_table;
逻辑说明
- 先通过
MAX(poi_review_rating)计算字段的最大值 - 用
TO_CHAR()将数值类型的最大值转换为字符串,保证和'N/A'的类型一致,才能进行NVL判断 NVL(A, B)的作用是:若A为Null则返回B,否则返回A,刚好满足你Null时显示'N/A'的需求
内容的提问来源于stack exchange,提问作者user21998908
相关产品推荐
相关产品推荐

