为了账号安全,请及时绑定邮箱和手机立即绑定

oracle 函数 return问题?

oracle 函数 return问题?

呼唤远方 2019-02-06 10:06:12
CREATE OR REPLACE function uf_descrypt(inpass in varchar2)return varchar2isstring_in varchar(78);string_out varchar(39);STRING_KEY VARCHAR(1);offset number(2);INIT_PASS VARCHAR(30);outpass varchar(30);beginSTRING_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 回答

?
慕桂英546537

TA贡献1848条经验 获得超10个赞

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

查看完整回答
反对 回复 2019-03-15
?
梦里花落0921

TA贡献1772条经验 获得超5个赞

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

查看完整回答
反对 回复 2019-03-15
?
慕哥9229398

TA贡献1877条经验 获得超6个赞

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

查看完整回答
反对 回复 2019-03-15
  • 3 回答
  • 0 关注
  • 1109 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信