如何从 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 中取出单曲?的主要内容,如果未能解决你的问题,请参考以下文章

Oracle如何取出某一列的所有不重复值作为单独一列

从简单/普通的背景中提取图像

IDL 中 如何从一个数组中随机取出3个数?

如何从已经规定的数组中随机取出一个元素?

web聊天功能如何设计?

如何从已经规定的数组中随机取出一个元素?