Oracle函数摘录

1.1    聚集函数

函数名

描述

Avg

返回行集中一列的平均值

Count

返回行集中一列的非空值的数量

Grouping

允许大家使用Oraclerollupcube扩展时在查询中插入小计(合计)

Max

返回行集中一列的最大值

Min

返回行集中一列的最小值

Stddev

返回行集中一列的所有值得标准偏差

Sun

返回行集中一列的合计值

Variance

返回行集中一列的方差值

 

1.2    字符函数

函数名

描述

Concat(str1,str2)

连接两个输入字符串并返回结果。等于连接操作符(||)

Initcap(str)

将字符串中每个单词的第一个字母改为大写,而所有其他字母改为小写。

Lower(char)

将字符串转化为小写

upper(char)

将字符串转化为大写

Length(char)

计算字符串的长度

Substr(char,m,n)

截取字符串,m:第几个字符 n:取几个字符

Replace(char,search_str,replace_str)

替换字符串

Instr(str1,str2[,n[,m]])

str1中搜索str2并返回str1str2开始的位置

N:指定从该字符位置开始查找。默认为1,从第一个字符开始查找;

M:指定想要找到该字符串第几次出现的场合(如果出现多于1),默认为1,就是第一次

Ltrim(str1[,str2])

从字符串左边删除指定字符,str1:指定要删除字符的字符串,str2:指定包含要被删除的字符集的字符串。该参数默认为“空格”

To_char()

 

 

1.3    数学函数

函数名

描述

Round(n,[m])

四舍五入,m:小数点位数

Trunc(n,[m])

截取数字,m:小数点位数,不进行四舍五入

Mod(m,n)

取模,相当于m%n

Floor(n)

 

Ceil(n)

 

ABS(n)

返回数字的绝对值

ACOS(n)

返回在-11之间的值得反余弦

ASIN(N)

返回在-11之间的值得反正弦

GREATEST(expr[,expr…..])

返回所提供的参数列表的最大值。也可以用于字符串和日期

LEAST (expr[,expr…..])

返回所提供的参数列表的最小值。也可以用于字符串和日期

 

1.4    日期函数

函数名

描述

Sysdate

系统当前时间

Add_months(d,n)

在指定日期加上指定月数,负数可以用于从d上减去n个月

Months_between(d1,d2)

返回两个日期之间的月数

Last_day(d)

返回指定日期所在月份的最后一天

Trunc(d,[,fmt])

返回被截取为指定单位的日期/时间值

 

1.5    转换函数

函数名

描述

To_char()

转换日期或数字为字符串

To_number

转换字符串为数字

To_date()

转换字符串为日期值

Convert(string,dest_char_set[,source_char_set])

将字符串从一个字符串转换成另一个字符串

 

格式:

日期

       yy:两位数字的年份 2004 –> 04

       yyyy: 两位数字的年份 2004 –> 2004

       mm: 两位月份

       dd: 2位天数

       hh24: 24小时制

       hh12: 12小时制

       miss : 显示分钟/

 

货币:

       9:显示数字,并忽略前面0

       0:显示数字,如位数不足,则用0补齐

       .:在指定位置显示小数点

       ,:在指定位置显示逗号

       S:在数字前加美元

       L:在数字前加本地货币符号

       C:在数字前加国际货币符号

       G:在指定位置显示组分隔符、

       D:在指定位置显示小数点符号(.

1.6    其他函数

函数名

描述

Decode(expr,search,result

[,search,result…..]

[,default])

提供嵌入IF语句的能力。

Expr:指定输入值,将该值与随后的检索值比较。

Search:指定检索值,指定值/结果对的值部分

Result:指定值/结果对的结果部分

Default:如果没有一个检索值与输入表达式匹配,指定decode返回可选的默认结果。

Nvl(expr1,expr2)

如果给定的输入值为NULL,则返回一个备用值。若expr1NULL,则NVL返回expr2;否则,返回expr1

Expr1:指定测试是否为NULl的表达式。如果该值不是NULL,则它是函数返回的值。

Expr2:指定当expr1NULL时的返回值。

Sys_content(namespace,

attribute_name

[,length])

返回应用程序上下文命名空间中的属性值。

Namespace:指定以前使用create context语句创建的命名空间的名字。大家也可以指定默认命名空间USERENV

Attribute:指定命名空间中的属性名。然后由该函数返回该属性值。

Length:指定属性的返回值得允许长度。该可选参数只从Oracle8.16开始使用,而且只用于AUTHENTICATION_DATA属性。

USER

返回当前用户,正常情况下,USER返回用于登陆到数据库的用户名,但是当在存储过程或函数中调用食,USER返回存储过程或函数的所有者的名字。

例:select USER from dual

 

 

 

Sys_content函数的属性:

1、  terminal:当前会话客户所对应的终端的标识符

2、  lanuage:语言

3、  db_name:当前数据库名称

4、  nls_date_format:当前会话客户对应的日期格式

5、  session_user:当前会话客户对应的数据库用户名

6、  current_schema:当前会话客户对应的默认方案名

7、  host:返回数据库所在主机的名称

例子:

Select sys_content(‘userenv’,’db_name’) from dual;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Oracle中的自定义函数是用户根据自己的需求创建的一种可重复使用的程序单元。通过自定义函数,可以根据输入参数计算并返回一个值。 在Oracle中,创建自定义函数的语法结构如下所示: CREATE [OR REPLACE] FUNCTION 函数名 (参数1 数据类型, 参数2 数据类型, ...) RETURN 返回值类型 AS 声明局部变量、常量等 BEGIN 执行函数体的逻辑操作 可以包含条件判断、循环、异常处理等语句 RETURN 返回值; END; 其中,CREATE关键字用于创建函数,OR REPLACE关键字用于替换已存在的同名函数函数名是自定义函数的名称,可以根据需要自行指定。参数1、参数2等是自定义函数的输入参数,可以根据需要指定参数的数量和数据类型。返回值类型是自定义函数的返回结果的数据类型。 在函数体中,可以进行各种逻辑操作,包括条件判断、循环、异常处理等。最后,通过RETURN关键字将计算结果返回。 下面是一个示例: CREATE OR REPLACE FUNCTION depA2(dep VARCHAR2) RETURN NUMBER AS result NUMBER; BEGIN SELECT COUNT(e.deptno) INTO result FROM SCOTT.dept d LEFT JOIN SCOTT.emp e ON d.deptno = e.deptno WHERE d.dname = dep; RETURN result; END; 在这个示例中,depA2是一个自定义函数,参数dep是部门名称,函数的功能是统计输入部门的员工人数。函数通过查询SCOTT.dept和SCOTT.emp表,计算出符合条件的员工人数,并将结果返回。 要调用自定义函数,可以使用SELECT语句或者直接在其他SQL语句中引用函数名,并传入参数。 例如,要调用上述示例中的函数,可以使用以下语句: SELECT depA2('SALES') FROM dual; 这将返回部门名称为'SALES'的员工人数。 总结起来,Oracle中的自定义函数是根据用户需求创建的可重复使用的程序单元,它可以根据输入参数计算并返回一个值。创建自定义函数的语法结构包括函数名称、输入参数、返回值类型和函数体。调用自定义函数可以使用SELECT语句或在其他SQL语句中引用函数名。 请注意以上回答仅基于提供的参考内容,

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值