为什么不在这里使用 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>
结果截图
我首先尝试在不使用 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>