单行函数
/*
1、简介
1)可以把函数看出是一个具有特点功能的代码块
2)每个函数都有自己的用法(返回值,参数)
3)此时使用的都是系统函数(不需要创建,直接使用) 自定义函数(FUNCTION)
2、函数的分类
单行函数:输入的参数和返回值 都是单行
多行函数:输入的参数是多行,返回值单行
3、单行函数特点
1)只对一行进行变换
2)每行返回一个结果
4、常见的单行函数
1)字符函数
2)数值函数
3)日期函数
4)转换函数
5)通用函数
*/
SELECT employee_id,last_name,UPPER('abcd') FROM employees;
SELECT MAX(salary) FROM employees;
字符函数
/*
函数的参数是一个字符类型 VARCHAR2 CHAR
常用的字符函数:
LOWER :转为小写字母
UPPER :转为大写字母
INITCAP :每个单词的首字母大写,空格下划线默认分隔单词
CONCAT :连接字符串 和 ||功能一样
SUBSTR :截取字符串
LENGTH :长度
INSTR :查找某个字符出现的位置
LPAD|RPAD :左填充 |又填充
TRIM :去除前后空格
REPLACE :替换
注意
1)记住常用的函数大概的含义
2)学会看语法
3)查看帮助文档
4)区分参数和返回值的含义
编程两大神奇:CV大法 面向百度编程
*/
SELECT employee_id,last_name,salary,REPLACE('hello oracle!','hello','你好')
FROM employees;
DUAL:虚拟表,该表本身没有任何数据,只是为了满足ORACLE查询语法
select replace('he love you','he','i') test from dual;
-- 大小写
SELECT
employee_id,
last_name,
salary,
UPPER(last_name) upp,
LOWER(last_name) low,
INITCAP('he love you'),
CONCAT(first_name,last_name) con
FROM employees;
-- SUBSTR:截取字符串
-- 参数1:表示需要截取的字符串
-- 参数2:表示需要从哪个位置截取
-- 参数3:可选,表示需要截取的个数,如果不指定,截取到末尾
-- 返回值:截取具体的字符串
SELECT
employee_id,
last_name,
salary,
SUBSTR(last_name,2,3) sub,
LENGTH(last_name) len
FROM employees;
-- 查找员工的名称 长度为5的信息
SELECT *
FROM employees
WHERE length(last_name) = 5;
-- INSTR:查找字符串出现的位置
-- 参数1:需要查找的原字符
-- 参数2:需要查询指定的字符
-- 参数3:可选,表示从哪里开始找 默认是0开始
-- 参数4:可选,查找的是第几次出现的值,默认查询第1次出现的值
SELECT
employee_id,
last_name,
salary,
INSTR(last_name,'a') ins,
INSTR('hello oracle,hello hadoop!','o',10,3) xx
FROM employees;
-- LPAD|RPAD填充
SELECT
employee_id,
last_name,
salary,
LPAD(last_name,6,'*') lp,
RPAD(last_name,6,'*') rp
FROM employees;
-- TRIM :默认是去除前后空格,中间的空格不去去掉
SELECT
employee_id,
last_name,
' HELLO WORLD ',
TRIM(' HELLO WORLD '),
TRIM('H' FROM 'HELLO WORLD,Hello Oracle!HH') HH
FROM employees;