「这是我参与2022首次更文挑战的第12天,活动详情查看:2022首次更文挑战」。
1. 转换函数 (将值从一种类型转换成另外一种类型,或者从一种格式转换为另外一种格式)
- TO_CHAR(x [, format]) 将x转化为字符串。 format为转换的格式,可以为数字格式或日期格式
★ 数字格式 SELECT TO_CHAR(12345.67, '99,999.99') FROM dual;
☆ 9 确定宽度,前导补空,后导补0
☆ 0 确定宽度,前后导都补0
☆ $ 美元
☆ L 当地的货币符号
☆ . 小数点
☆ ,分隔符
★ 日期格式 select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') from dual
☆ q 季度1-4
☆ ww 年里面的第几周
☆ 当前时间减去7分钟的时间 sysdate - interval '7' MINUTE
☆ 当前时间减去7小时的时间 sysdate - interval '7' hour
☆ 当前时间减去7天的时间 sysdate - interval '7' day
☆ 当前时间减去7月的时间 sysdate - interval '7' month
☆ 当前时间减去7年的时间 sysdate - interval '7' year
☆ 时间间隔乘以一个数字 sysdate - 8*interval '7' hour
- TO_DATE(x [,format]) 将x字符串转换为日期
规则同TO_CHAR
☆ TO_DATE('2012-3-15','YYYY-MM-DD‘)
- TO_NUMBER(x [, format]) 将x转换为数字。可以指定format格式
☆ TO_NUMBER('970.13') + 25.5
☆ TO_NUMBER('99,999.99') , TO_NUMBER('¥12,345.67', 'L99,999.99')
☆ TO_NUMBER(to_char(sysdate, 'yyyy'))
- CAST(x AS type) 将x转换为指定的兼容的数据库类型
☆ CAST(12345.67 AS VARCHAR2(10) )
☆ CAST('05-7月-07' AS DATE)
☆ CAST(12345.678 AS NUMBER(10,2))
2. 聚集函数(亦称分组函数、聚合函数。聚集函数可以对行集进行操作,并且为每组给出一个结果)
格式:select 组函数(表达式)/表达式 from 子句 group by 表达式
注意:非group by 中出现的表达式 如果要出现在select当中,必须使用组函数
★ 聚集函数可以使用任何有效的表达式
★ NULL值在聚集函数中将被忽略
★ 可以在聚集函数中使用DISTINCT关键字,排除重复值
★ 筛选条件如果使用了组函数,则应使用having筛选
- AVG(x):返回x的平均值
- COUNT(x):返回统计的行数
- MAX(x):返回x的最大值
- MIN(x):返回x的最小值
- SUM(x):返回x的总计值
- MEDIAN(x):返回中间值
- STDDEV(x):返回标准偏差
- VARIANCE(x):返回x的方差
聚集函数的分组应用,有时需要对表中的行进行分组,然后统计每组的信息:
例如:
-
统计学生的人数,按性别进行统计,可以使用GROUP BY进行分组 SELECT sex FROM student GROUP BY sex
-
统计每个导师带的所有学生的每个科目的平均/最高/最低/总成绩,并按对应成绩排序,并且只要平均成绩大于60分的记录
-
统计每个商品分类下的所有商品的每个月份的平均/最高/最低/总销量,并按对应销量排序,并且只要平均销量低于10000件的记录
-
统计每个员工的每年里哪个一月工资最低(如果有不同的月都是最低工资,则取离当前时间较近的一个月),并且显示此月工资是多少(每月工资不固定)