Oracle SQL * Plus(以及SQL Developer)不支持将变量声明为日期(Citation)。在变量中捕获日期的适当方法?
所以我可以选择到一个varchar,但它需要我转换为一个字符串。然后它不再是一个日期,我不能对它进行日期算术。
使用日期变量的适当方式是什么?我在BEGIN/END的开始处使用变量而不是声明,因为我需要它们在块外部可用,以使选择容易显示。
clear screen;
variable someid number;
variable somedate varchar;
exec :someid := 1234;
Begin
select c.some_timestamp into :somedate from someschema.sometable c
where c.someid = :someid ;
end;
/
select :somedate from dual;
“SqlPlus限制”,所以我没有使用SQL * Plus客户端(抱歉不提),我正在使用SQL Developer。即使您不使用该特定客户端,也许BEGIN/END块之外的所有内容都被视为“SqlPlus”?你能澄清一下吗?当我回到PC时,我会尝试解决您的问题。 – AaronLS
@AaronLS - 适用于SQL \ * Plus的大多数东西也适用于SQL Developer。这当然。 –