CREATE OR REPLACE
FUNCTION TIMEIDIN(TIMEID NUMBER)
RETURN VARCHAR2
IS
STRTIMEID VARCHAR2(48);
BEGIN
FOR I IN 0..13 LOOP
IF I<>12
THEN STRTIMEID:=TIMEID*12+1||',';
RETURN STRTIMEID;
ELSE STRTIMEID:=TIMEID*12+1;
RETURN STRTIMEID;
END IF;
END LOOP;
END TIMEIDIN;通过这个函数我想传入一个数字类型的值得到一个字符串
如传进去一个 1 返回 1,2,3,4,5,6,7,8,9,10,11,12但是我写的这个函数没有返回值 请问写的有问题吗 才学ORACLE的 有很多不了解 请教
这是什么情况啊
CREATE OR REPLACE
FUNCTION TIMEIDIN(TIMEID NUMBER)
RETURN VARCHAR2
IS
STRTIMEID VARCHAR2(48);
BEGIN
FOR I IN 0..13 LOOP
IF I<>12
THEN STRTIMEID:=TIMEID*12+1||',';
ELSE STRTIMEID:=TIMEID*12+1;
END IF;
RETURN STRTIMEID;
END LOOP;
END TIMEIDIN;
STRTIMEID VARCHAR2(48);
BEGIN
FOR I IN 1.. 13 LOOP
IF I <> 12 THEN
STRTIMEID := STRTIMEID || i||',';
ELSE
STRTIMEID := STRTIMEID || i;
RETURN STRTIMEID;
END IF;
END LOOP;
RETURN STRTIMEID;
END TIMEIDIN;
CREATE OR REPLACE FUNCTION TIMEIDIN(TIMEID NUMBER) RETURN VARCHAR2 IS
STRTIMEID VARCHAR2(48);
BEGIN
FOR I IN TIMEID.. 13 LOOP
IF I <> 12 THEN
STRTIMEID := STRTIMEID || i||',';
ELSE
STRTIMEID := STRTIMEID || i;
RETURN STRTIMEID;
END IF;
END LOOP;
RETURN STRTIMEID;
END TIMEIDIN;
我感觉你应该是这个意思 输入1的时候是1,2,3,4,5,6....
输入2的时候是2,3,4,5,6.....[
[/code]
CREATE OR REPLACE FUNCTION timeidin (timeid NUMBER)
RETURN VARCHAR2
IS
strtimeid VARCHAR2 (48);
BEGIN
FOR i IN timeid .. 12
LOOP
strtimeid := strtimeid || ',' || i;
END LOOP; RETURN SUBSTR (strtimeid, 2);
END ;
CREATE OR REPLACE FUNCTION TIMEIDIN(TIMEID NUMBER) RETURN VARCHAR2 IS
STRTIMEID VARCHAR2(48);
num number;
BEGIN
FOR I IN 1.. 13 LOOP
IF I <> 12 THEN
num:=(TIMEID-1)*12+i;
STRTIMEID := STRTIMEID ||num ||',';
ELSE
num:=(TIMEID-1)*12+i;
STRTIMEID := STRTIMEID || num;
RETURN STRTIMEID;
END IF;
END LOOP;
RETURN STRTIMEID;
END TIMEIDIN;
看看如何
CREATE OR REPLACE FUNCTION timeidin (timeid NUMBER)
RETURN VARCHAR2
IS
strtimeid VARCHAR2 (48);
BEGIN
FOR i IN 1 .. 12
LOOP
strtimeid := strtimeid || ',' || ((timeid-1)*12+i);
END LOOP; RETURN SUBSTR (strtimeid, 2);
END ;