专业编程教程与实战项目分享平台

网站首页 > 技术文章 正文

认识 Oracle函数的转换函数、其他单行函数及聚合函数

ins518 2024-10-20 09:08:59 技术文章 266 ℃ 0 评论

转换函数

转换函数转换函数将值从一种数据类型转换为另外一种数据类型。常用的转换函数有:

1. TO_CHAR(d丨n [,fmt ] )

把日期和数字转换为指定格式的字符串。fmt 是格式化字符串,日期的格式化字符串前面已经学习过。

代码演示:TO-CHAR 对日期的处理

SQL> SELECT TO_CHAR(SYSDATE,'YYY"年"MM"月"DD" 日" HH24:MI:SS')‘’date" ①

2. FROM DUAL;

date

2009年08月11日 12:06:00

代码解析:

① 在格式化字符串中,使用双引号对非格式化字符进行引用。

针对数字的格式化,格式化字符有:

摆脱压抑的迷茫兆隆助我迈向人生辉煌!兆隆IT云学院0学费,0基础,等你来!

代码演示:TO CHAR 对数字的处理

SQL> SELECT TO_CHAR(-123123.45,'L9.9EEEEPR') "date"

2 FROM DUAL

3 /

date

<YI.2E+05>

2. TO_DATE(x [,fmt] )

把一个字符串以 fmt 格式转换为一个日期类型,前面已经学习过。

3. TO_NUMBER(x [,fmt] )

把一个字符串以 fmt 格式转换为一个数字。

代码演示:TO_NUM 函数

SQL> SELECT TO_NUMBER('-$12,345.67','$99,999.99') "NUM"

2 FROM DUAL

3 /

-12345,67

1, NVL(x,value)

如果x 为空,返回value,否则返回x。

示例: 对工资是2000 元以下的员工,如果没有发奖金,每人奖金100元。

代码演示:NVL函数

ENAME SMITH ALLEN WARD MARTIN TURNER ADAMS JAMES JOB

CLERK SALESMAN SALESMAN SALESMAN SALESMAN CLERK CLERK SAL NVL(COMM,100) 100

300

500

1400

50

100

100

7 rows selected

2. NVL2(x,value1,value2)

如果x非空,返回value1,否则返回value2。

示例: 对EMP 表中工资为2000 元以下的员工,如果没有奖金,则奖金为200 元,如果有奖金,则在原来的奖金基础上加100 元。

代码演示:NVL2 函数

SQL> SELECT ENAME,JOB,SAL,NVL2(COMM,comm+100,200) "comm''

2 FROM EMP WHERE SAL<2000;

ENAME LOB SAL comm

SMITH CLERK 800 200

ALLEN SALESMAN 1600 400

WARD SALESMAN 1250 600

MARTIN SALESMAN 1250 1500

TURNER SALESMAN 1500 150

ADAMS CLERK 1100 200

JAMES CLERK 950 200

MILLER CLERK 1300 200

8 rows selected

聚合函数

聚合函收同时对一组数据进行操作,返回一行结果,比如计算一组数据的总和,平均值等。

示例1: 求本月所有员工的基本工资总和

代码演示:SUM 函数

SQL> select sum(sal) from emp;

SUM(SAL)

29025

示例2: 求不同部门的平均工资。

代码演示:AVG函数下的分组查询

SQL> SELECT DEPTNO,AVG(SAL) FROM EMP GROUP BY DEPTNO;

DEPTNO AVG(SAL)

30 1566.66666

20 2175

10 2916,66666

摆脱压抑的迷茫兆隆助我迈向人生辉煌!分享来自兆隆IT云学院,QQ:598756835

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表