如何从 Oracle-Procedure 中取出单曲?
Posted
技术标签:
【中文标题】如何从 Oracle-Procedure 中取出单曲?【英文标题】:How do I get a single out from an Oracle-Procedure? 【发布时间】:2010-08-04 13:04:29 【问题描述】:我有这个程序:
CREATE OR REPLACE PROCEDURE CONV1(
pDate IN VARCHAR2,
pYear OUT number,
pMonth OUT number,
pDay OUT number
)
AS
lDate DATE;
BEGIN
lDate := to_date(pDate, 'DD.MM.YYYY HH24:MI:SS');
pYear := to_number(to_char(lDate, 'YYYY'));
pMonth := to_number(to_char(lDate, 'MM'));
pDay := to_number(to_char(lDate, 'DD'));
END CONV1;
/
如果我只想要其中一个出局,我该如何调用此程序?
(比如Select FMAN_STAT_CONV1('16.07.2010', pDay) from dual;
(顺便说一句,这不起作用))
你好!
【问题讨论】:
【参考方案1】:创建将使用过程 conv1 的函数,但只会返回一个值。
甚至更适合您的特定情况
SELECT to_char(to_date(your_date, 'DD.MM.YYYY HH24:MI:SS'), 'DD') from dual.
或者常见的情况是:
CREATE OR REPLACE FUNCTION CONV2(
pDate IN VARCHAR2
)
RETURN NUMBER
IS
pDay number;
pMonth number;
pYear number;
BEGIN
conv1(pDate, pYear, pMonth, pDay);
return pDay;
END;
【讨论】:
以上是关于如何从 Oracle-Procedure 中取出单曲?的主要内容,如果未能解决你的问题,请参考以下文章