oracle 函数 return问题
CREATEORREPLACEfunctionuf_descrypt(inpassinvarchar2)returnvarchar2isstring_invarchar(...
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
只要写出模型出来的就行了 展开
(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
只要写出模型出来的就行了 展开
3个回答
展开全部
return vachar2 是指返回参数的类型是vachar2格式的字符
vachar2 是oracle中规定的一种数据类型,和vachar类似,但是vachar2 是长度可以变化的,
例如,咱们熟悉的CHAR的长度是固定的,VARCHAR2的长度是可以变化的, 存储字符串“ABC",对于CHAR (10),表示你存储的字符将占10个字节(包括7个空字符),而同样的VARCHAR2 (10)则只占用3个字节的长度,10只是最大值,当你存储的字符小于10时,按实际长度存储.
vachar2 是oracle中规定的一种数据类型,和vachar类似,但是vachar2 是长度可以变化的,
例如,咱们熟悉的CHAR的长度是固定的,VARCHAR2的长度是可以变化的, 存储字符串“ABC",对于CHAR (10),表示你存储的字符将占10个字节(包括7个空字符),而同样的VARCHAR2 (10)则只占用3个字节的长度,10只是最大值,当你存储的字符小于10时,按实际长度存储.
2015-12-11 · 做真实的自己 用良心做教育
千锋教育
千锋教育专注HTML5大前端、JavaEE、Python、人工智能、UI&UE、云计算、全栈软件测试、大数据、物联网+嵌入式、Unity游戏开发、网络安全、互联网营销、Go语言等培训教育。
向TA提问
关注
展开全部
oracle中return vachar2 是指返回参数的类型是vachar2格式的字符串。
varchar就是“字符串”,varchar2(20)就是本字符串的最大长度二20个字节。
当前varchar2支持的最大长度是4000个字节。
字母和数字是占两个字节,中文的话是4个字节。那么varchar2(20)可以是10个数字与字母的组合或者可以是5个汉字。
varchar就是“字符串”,varchar2(20)就是本字符串的最大长度二20个字节。
当前varchar2支持的最大长度是4000个字节。
字母和数字是占两个字节,中文的话是4个字节。那么varchar2(20)可以是10个数字与字母的组合或者可以是5个汉字。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
一:首先我们来看一下函数的结构(其中return 是必须有的,表示返回一个结果)
create or replace function mypro9 return number
as
begin
return '7867';
end;
这个就是函数的结构,必须有一个返回值(用return返回),“return vachar2 ” 表示返回值的类型是 varchar2。如我写的例子 表示返回的值类型位number(如果把begin下面,换成 return 'haha')会报错;
create or replace function mypro9 return number
as
begin
return '7867';
end;
这个就是函数的结构,必须有一个返回值(用return返回),“return vachar2 ” 表示返回值的类型是 varchar2。如我写的例子 表示返回的值类型位number(如果把begin下面,换成 return 'haha')会报错;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询