--字符函数
select * from dual;
--首字母大写
select initcap('hello') from dual;
--大小写转换
select lower('FUN') from dual;
select upper('fun') from dual;
--去空格
select trim(' asd ') from dual;
--去掉右边字符串
select ltrim('so cute', 'so') from dual;
--去掉左边字符串
select rtrim('so cute', ' cute') from dual;
--字符替换
select replace('I am Hary','H','M') from dual;
--截取字符串
select substr('abcdefg',2,4) from dual;
--字符串连接
select concat('hello','world') from dual;
--多字符串连接
select 'Hello'||'World'||'!' from dual;
注:dual是系统自带表
---数字函数
Abs(n) 绝对值
Cell(n) 大于等于参数的最小整数(有1进1)
Cos(n) 余弦值
Cosh(n) 反余弦值
Floor(n) 去尾取整
Power(m,n) m的n次方
Mod(m,n) m余n 取模
Round(m,n) 四舍五入
Trunc(m,n) 保留n位小数
sqrt(n) 平方根
--转换函数
TO_CHAR(sysdate,'YYYY-fmMM-fmDD HH24:MI:SS') 转换成字符型
TO_DATE('2016-11-2','yyyy-mm-dd') 字符转换成日期
TO_NUMBER('100') 字符转数字
count() 显示表里有多少条数据
avg(age) age的平均数
max() 最大值
min() 最小值
sum()求和
--分组(GROUP BY)
GROUP BY用于将信息划分为更小的组,每一组行返回针对该组的单个结果
HAVING用于指定GROUP BY子句检索行的条件
例:搜索每门功课的最高分
select s.subject, max(s.score) from students sGROUP BY subject;
条件筛选
select s.subject, max(s.score) from students sGROUP BY subject HAVING subject != 'math';
注:用group by进行分组,只能用having进行条件添加,不能用where
--排序(ORDER BY)
select * from students order byscore DESC/ASC;//DESC倒序 ASC正序