函数用于返回特定数据,可以返回一个或多个值。
在一个函数中必须包含一个或多个RETURN 语句
函数调用是PL/SQL表达式的一部分,而过程调用可以是一个独立的PL/SQL语句
语法结构:
CREATE [OR REPLACE] FUNCTION function_name
(parameter1_name [mode] datatype [DEFAULT|:=value]
[, parameter2_name [mode] datatype [DEFAULT|:=value],…])
RETURN return_datatype
AS |IS
/*Declarative section is here */
BEGIN
/*Executable section is here*/
EXCEPTION
/*Exception section is here*/
END [function_name];
示例:
CREATE OR REPLACE FUNCTION F_FORMATSXDATA(VI_VALUE IN VARCHAR2,
VI_FORMSTR IN VARCHAR2)
RETURN VARCHAR2 IS
RESULT VARCHAR2(200);
V_NUMBERTEMP NUMBER(11, 2);
BEGIN
IF VI_FORMSTR = '001' OR VI_FORMSTR = '003' OR VI_FORMSTR = '005' THEN
RESULT := VI_VALUE;
ELSIF VI_FORMSTR = '002' THEN
RESULT := TO_CHAR(VI_VALUE, 'FM999999999990.00');
ELSIF VI_FORMSTR = '004' THEN
V_NUMBERTEMP := TO_NUMBER(VI_VALUE, 'FM999999999990.0099') * 100;
RESULT := TO_CHAR(V_NUMBERTEMP, 'FM999999999990.00');
END IF;
RETURN(RESULT);
END F_FORMATSXDATA;
连接运算符
连接运算符是双竖线“||” 通过连接运算将两个字段的字符串连接在一起。比如名字和年龄
Sql代码
SELECT uname||age AS "名字和年龄" FROM uinfo;
结果为:
名字和年龄
黑色头发25
紫色头发19
还可以在结果集中加入字符串
Sql代码
SELECT uname|| '的年龄为:' ||age AS "名字和年龄" FROM uinfo;
黑色头发的年龄为:25
紫色头发的年龄为:19
黑色头发:http://heisetoufa.iteye.com/