Oracle sqlplus 函数显示为###
Oracle sqlplus functions shows as ###
提交 select 查询后,其中包含 row_number() 等函数或任何其他函数,结果为 ####。如果我使用 rownum 作为某种东西,它会显示 ### 如果我只使用 rownum 一切正常。
我在使用其他通用列时遇到了这个问题,但我可以简单地使用列 columnname format 9999;
问题不是不够space,每条记录只有一位
我在整个互联网上进行了谷歌搜索,但还没有找到解决我问题的答案。
有谁知道函数可能有什么问题以及如何格式化它们?
select ROW_NUMBER() OVER (ORDER BY student_surname) "Nr.",
student_surname || ' ' || student_name "Student",
NVL(sum(m.stipend),0) + NVL(sum(m.compensation),0) "Total"
from student s
inner join money m on m.student_id=s.id_student
group by student_surname, student_name;
已尝试清除列,但没有用。
您似乎用错误的格式设置了数字列的格式,导致无法显示所有数字。
例如,这是某人的薪水 - 看起来不错:
SQL> select sal from emp where rownum = 1;
SAL
----------
920
但是,如果您按如下格式设置它(即说我希望该列只有两位数字 (99
)),结果是 ###
:
SQL> col sal format 99
SQL> select sal from emp where rownum = 1;
SAL
---
###
SQL>
怎么办?最简单的方法就是clear
格式化:
SQL> col sal clear
SQL> select sal from emp where rownum = 1;
SAL
----------
920
SQL>
另一种可能是numformat
(一般)设置错误;所有这些列都是 NUMBER
,并且所有这些列都受此影响 set numformat
:
SQL> set numformat 9
SQL> select empno, mgr, sal, deptno from emp where rownum = 1;
EMPNO MGR SAL DEPTNO
---------- ---------- ---------- ----------
########## ########## ########## ##########
如何解决?退出 SQL*Plus 并重新连接。
提交 select 查询后,其中包含 row_number() 等函数或任何其他函数,结果为 ####。如果我使用 rownum 作为某种东西,它会显示 ### 如果我只使用 rownum 一切正常。
我在使用其他通用列时遇到了这个问题,但我可以简单地使用列 columnname format 9999;
问题不是不够space,每条记录只有一位
我在整个互联网上进行了谷歌搜索,但还没有找到解决我问题的答案。
有谁知道函数可能有什么问题以及如何格式化它们?
select ROW_NUMBER() OVER (ORDER BY student_surname) "Nr.",
student_surname || ' ' || student_name "Student",
NVL(sum(m.stipend),0) + NVL(sum(m.compensation),0) "Total"
from student s
inner join money m on m.student_id=s.id_student
group by student_surname, student_name;
已尝试清除列,但没有用。
您似乎用错误的格式设置了数字列的格式,导致无法显示所有数字。
例如,这是某人的薪水 - 看起来不错:
SQL> select sal from emp where rownum = 1;
SAL
----------
920
但是,如果您按如下格式设置它(即说我希望该列只有两位数字 (99
)),结果是 ###
:
SQL> col sal format 99
SQL> select sal from emp where rownum = 1;
SAL
---
###
SQL>
怎么办?最简单的方法就是clear
格式化:
SQL> col sal clear
SQL> select sal from emp where rownum = 1;
SAL
----------
920
SQL>
另一种可能是numformat
(一般)设置错误;所有这些列都是 NUMBER
,并且所有这些列都受此影响 set numformat
:
SQL> set numformat 9
SQL> select empno, mgr, sal, deptno from emp where rownum = 1;
EMPNO MGR SAL DEPTNO
---------- ---------- ---------- ----------
########## ########## ########## ##########
如何解决?退出 SQL*Plus 并重新连接。