在一个存储过程(它有一个名为 'paramDate' 的日期参数)我有一个像这样的查询
select id, name
from customer
where period_aded = to_char(paramDate,'mm/yyyy')
Oracle 会将每行的 paramDate 转换为字符串吗?
我确信甲骨文不会,但有人告诉我甲骨文会。事实上,我认为如果函数的参数是约束(在查询中没有字段或计算值),结果应该总是相同的,这就是 Oracle 应该只执行一次转换的原因。然后我意识到我有时会在几个函数中执行 DML 语句,这可能会导致结果值发生变化,即使每一行都没有变化。
这应该意味着我应该在将这些值添加到查询之前转换它们。
无论如何,也许众所周知的“已知函数”(内置)会被评估一次,甚至我的函数也会被评估。
无论如何,再...
oracle 会执行一次 to_char 还是 Oracle 会为每一行执行一次?
感谢您的回答