oracle 函数 return问题?

CREATE OR REPLACE function uf_descrypt
(inpass in varchar2)
return varchar2
is
string_in varchar(78);
string_out varchar(39);
STRING_KEY VARCHAR(1);
offset number(2);
INIT_PASS VARCHAR(30);
outpass varchar(30);

begin

STRING_IN := 'YN8K1JOZVURB3MDETS5GPL27AXWIHQ94C6F0#$_';
STRING_OUT := '_$#ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789';

STRING_KEY := SUBSTR(LTRIM(RTRIM(INPASS)),1,1);
OFFSET := INSTR(STRING_IN,STRING_KEY);
INIT_PASS := SUBSTR(INPASS,2);
STRING_IN :=STRING_IN||STRING_IN;
STRING_IN :=SUBSTR(STRING_IN,OFFSET,39);
--OUTPASS := OUTPASS||TRANSLATE(UPPER(INPASS),STRING_IN,STRING_OUT);
OUTPASS := TRANSLATE(UPPER(INIT_PASS),STRING_OUT,STRING_IN);

return outpass;
END;
/

我想问一下 return vachar2 这个到底怎么来理解
找了半天没找到这种格式的 具体些 给加分
麻烦再问一下 这个函数的结构
如create replace.... begin end
只要写出模型出来的就行了

呼唤远方
浏览 1111回答 3
3回答

慕桂英546537

一:首先我们来看一下函数的结构(其中return 是必须有的,表示返回一个结果)create or replace function mypro9 return numberasbeginreturn '7867';end;这个就是函数的结构,必须有一个返回值(用return返回),“return vachar2 ” 表示返回值的类型是 varchar2。如我写的例子 表示返回的值类型位number(如果把begin下面,换成 return 'haha')会报错;

梦里花落0921

oracle中return vachar2 是指返回参数的类型是vachar2格式的字符串。varchar就是“字符串”,varchar2(20)就是本字符串的最大长度二20个字节。当前varchar2支持的最大长度是4000个字节。字母和数字是占两个字节,中文的话是4个字节。那么varchar2(20)可以是10个数字与字母的组合或者可以是5个汉字。

慕哥9229398

return vachar2 是指返回参数的类型是vachar2格式的字符vachar2 是oracle中规定的一种数据类型,和vachar类似,但是vachar2 是长度可以变化的,例如,咱们熟悉的CHAR的长度是固定的,VARCHAR2的长度是可以变化的, 存储字符串“ABC",对于CHAR (10),表示你存储的字符将占10个字节(包括7个空字符),而同样的VARCHAR2 (10)则只占用3个字节的长度,10只是最大值,当你存储的字符小于10时,按实际长度存储.
打开App,查看更多内容
随时随地看视频慕课网APP