一、Oracle命令类别
- 数据操纵语言(DML):select;insert;delete;update;merge
- 数据定义语言(DDL):create;alter;drop;truncate
- 事物控制语言(TCL):commit;rollback;savepoint;
- 数据控制语言(DCL):grant;revoke
二、SQL的基本函数
2.1 单行函数与多行函数的区别:
-
单行函数指一行数据输入,返回一个值的函数。在查询一个表时,对选择的每一行数据都返回一个结果。
SQL>select empno,lower(ename) from emp;
-
多行函数指多行数据输入,返回一个值的函数。对表的群组进行操作,每组返回一个结果。
SQL>select sum(sal) from emp;
2.2 单行函数的几种类型
2.2.1 字符函数
- lower('SQL Course')---->sql course 返回小写
SQL>select lower('SQL Course') from dual;
LOWER('SQL
----------
sql course
- upper('sql course')---->SQL COURSE 返回大写
SQL>select upper('sql course') from dual;
UPPER('SQL
----------
SQL COURSE
- initcap('SQL course')---->Sql Course 返回首字母大写
SQL>select initcap('SQL course') from dual;
INITCAP('S
----------
Sql Course
- concat('good','string')----> good string 拼接字符串(只能拼接两个字符串)
SQL>select concat('good','string') from dual;
CONCAT('GO
----------
goodstring
- substr('String',1,3)---->截取字符串,从第1位开始截取3位
SQL>select substr('String',1,3) from dual;
SUB
---
Str
- instr('t#i#m#r#a#n#','#',3)---->从第3位起始找
#
字符在哪个绝对位置
SQL>select instr('t#i#m#r#a#n#','#',3) from dual;
INSTR('T#I#M#R#A#N#','#',3)
--------------------------
4
- length('String')---->显示某一字符串的长度
SQL>select length('String') from dual;
LENGTH('STRING')
---------------
6
- lpad('first',10,'$')---->左填充/整个字符串是十位长度,不足用
$
在first
左边补/
SQL>select lpad('first',10,'$') from dual;
LPAD('FIRS
----------
$$$$$first
- rpad('first',10,'$')---->右填充,跟上面相反
SQL>select rpad('first',10,'$') from dual;
RPAD('FIRS
----------
first$$$$$
- replace('JACK and JUE','J','BL')---->把字符串中的
J
用BL
替换掉
SQL>select replace('JACK and JUE','J','BL') from dual;
REPLACE('JACKA
--------------
BLACK and BLUE
- trim('m' from 'mmtrimranm')---->去除两边的
m
字符
SQL>select trim('m' from 'mmtrimranm') from dual;
TRIM('M
-------
trimran
2.2.2 数值函数
-
round 对指定的值做四舍五入,round(p,s),小数点处s为0,s为正数表示小数点后要保留的位数,s为负数表示小数点前要保留的位数,但意义不大。
- round 按指定精度对十进制数四舍五入,
SQL>select round(45.923,1) from dual;
ROUND(45.923,1)
---------------
45.9
SQL>select round(45.923,0) from dual;
ROUND(45.923,0)
---------------
46
SQL>select round(45.923,-1) from dual;
ROUND(45.923,-1)
----------------
50
- trunc 对指定的值进行取整(截取)trunc(p,s) 小数点处s为0,s为正数表示小数点后要截取的位数,s为负数表示小数点前要截取的位数
- trunc 按指定精度截断十进制数
SQL>select trunc(45.923,1) from dual;
TRUNC(45.923,1)
---------------
45.9
SQL>select trunc(45.923,0) from dual;
TRUNC(45.923,0)
---------------
45
SQL>select trunc(45.923,-1) from dual;
TRUNC(45.923,-1)
----------------
40
- mod 返回除法后的余数
SQL>select mod(100,12) from dual;
MOD(100,12)
-----------
4