Oracle数据库单行函数(复习)

单行函数:

操作数据对象
接受参数返回一个结果
只对一行进行变换
每行返回一个结果
可以转换数据类型
可以嵌套
参数可以是一列或一个值

字符函数
1.大小写控制函数
LOWER:参数里面的内容,全部转换为小写字符

select LOWER('SQL Course') from dual;

这里写图片描述
UPPER:参数里面的内容,全部转换为大写字符

select UPPER('sql course') from dual;

这里写图片描述
INITCAP:参数里面的内容,单词首字母全部转换为大写字符

select INITCAP('sql course') from dual;

2.字符控制函数
CONCAT:将两个字符串连接起来,形成一个单一的字符串

select CONCAT('Hello', 'World') from dual;

这里写图片描述
SUBSTR:截取字符串

select SUBSTR('HelloWorld',1,5) from dual;

这里写图片描述
LENGTH:统计字符串的长度

select LENGTH('HelloWorld') from dual;

这里写图片描述
INSTR:显示查找的字符在字符串中的位置

select INSTR('HelloWorld', 'W') from dual;

这里写图片描述
RPAD,LPAD:字符不够的时候,在用规定字符凑够字符长度

select LPAD(5200,10,'*') from dual;

这里写图片描述
select RPAD(5200, 10, ‘*’) from dual;
这里写图片描述
TRIM:删除字符串开头或结尾规定的字符

select TRIM('H' FROM'HelloWorld') from dual;

这里写图片描述

select TRIM('d' FROM'HelloWorld') from dual;

这里写图片描述
REPLACE:替换

select REPLACE(‘abcd’,’b’,’m’) from dual;

这里写图片描述
3.数字函数
ROUND: 四舍五入

select ROUND(45.926, 2) from dual;

这里写图片描述
TRUNC:截断

select TRUNC(45.926, 2) from dual;

这里写图片描述
MOD: 求余

select MOD(1600, 300) from dual;

这里写图片描述
4.日期
函数SYSDATE 返回:日期,时间

 select SYSDATE from dual;

这里写图片描述
日期函数

MONTHS_BETWEEN两个日期相差的月数
ADD_MONTHS向指定日期中加上若干月数
NEXT_DAY指定日期的下一个星期* 对应的日期
LAST_DAY本月的最后一天
ROUND日期四舍五入
TRUNC日期截断

TO_DATE函数对字符的转换

TO_DATE(char[, 'format_model'])
TO_DATE(‘2012年10月29日08:10:21’,’yyyy“年”mm”月”dd“日”hh:mi:ss’)

From dual
TO_CHAR函数对数字的转换

TO_CHAR(number, 'format_model')
SELECT TO_CHAR(salary, '$99,999.00') SALARY
FROM employees
WHERE last_name = 'Ernst';

这里写图片描述
TO_CHAR函数对日期的转换

select employee_id,last_name,hire_date
from employees
where to_char(hire_date,’yyyy-mm-dd’) = ‘1987-09-17’

TO_NUMBER 函数对字符的转换

TO_NUMBER(‘¥1,234,567,890.00’,’L999,999,999,999.99’)from dual

NVL 函数,NVL2 函数:将空值转换成一个已知的值
NULLIF 函数:

NULLIF (expr1, expr2) : 相等返回NULL,不等返回expr1

COALESCE 函数:同时处理交替的多个值


在SQL语句中使用IF-THEN-ELSE 逻辑
使用两种方法:
CASE 表达式

CASE expr WHEN comparison_expr1 THEN return_expr1
[WHEN comparison_expr2 THEN return_expr2
WHEN comparison_exprn THEN return_exprn
ELSE else_expr]
END 

DECODE 函数

DECODE(col|expression, search1, result1 ,
[, search2, result2,...,]
[, default])

分组函数:作用于一组数据,并对一组数据返回一个值。

AVG:平均值
SUM :(合计)函数
MIN:(最小值)
MAX:(最大值)函数
COUNT:(计数)函数

注意:
组函数忽略空值
NVL函数使分组函数无法忽略空值


DISTINCT 关键字
COUNT(DISTINCTexpr)返回expr非空且不重复的记录总数

SELECT COUNT(DISTINCTdepartment_id) FROM employees;

GROUP BY:分组数据

SELECTcolumn, group_function(column)
FROM table
[WHERE condition]
[GROUP BYgroup_by_expression]
[ORDER BYcolumn];

HAVING:过滤分组

SELECTcolumn, group_function
FROMtable
[WHEREcondition]
[GROUP BYgroup_by_expression]
[HAVINGgroup_condition]
[ORDER BYcolumn];

猜你喜欢

转载自blog.csdn.net/wangyeshun/article/details/82709961