为什么不在这里使用 to_number 最终会给我两次结果?

Why does not using to_number here end up giving me the result twice?

结果截图

我首先尝试在不使用 to_number(图片的下半部分)的情况下为本练习制作解决方案,因为 manager_id 是一个数字(我事先检查过)。然而,这给了我两次结果。于是我查看了老师提供的解法,看到老师用的是to_number(图片上半部分)。所以我测试了那个版本,它只给出了一次结果。

为什么会这样?

下面的屏幕截图显示 manager_id 已经是一个数字,为​​什么还要转换它 to_number?

Manager_id 定义为数字

提前致谢

一头雾水的同学:)

afiedt.buf 文件中是否有斜杠 / 字符?如果是这样,它“指示”SQL*Plus 重新运行 最后一条语句,你得到了两次结果。

因为,TO_NUMBER与两个“结果”无关。这些不是两行(由同一个查询返回),而是同一个查询 运行 两次。

像这样:

SQL> select count(*) from emp;

  COUNT(*)
----------
        14

SQL> /              --> this

  COUNT(*)
----------
        14

SQL>

或者,甚至更好:我的 a.sql 文件的内容:

prompt Number of rows in EMP table

select count(*) from emp;
/

注意最后一个斜杠。执行时,结果为

SQL> @a
Number of rows in EMP table

  COUNT(*)
----------
        14


  COUNT(*)
----------
        14

SQL>