今天,我们接着学习Oracle数据库,今天要学的是PL/SQL 中的单行函数 与 分析函数以及集合运算.
注意,今天的知识小喵个人觉得还是挺难的同事也挺重要的,要认真学习哦!
一 . 单行函数
首先我们来说一下单行函数分为哪些呢?
单行函数分为了 字符函数 、 数值函数 、转换函数 、日期函数以及 其他函数(其他函数在此不进行列举了) ,我们一个一个来学习吧!
1. 字符函数
常见字符串函数
函 数 | 说 明 |
CONCAT | 拼接两个字符串,与 || 相同 |
INITCAP | 将字符串的第一个字母变大写 |
INSTR | 找出某个字符串的位置 |
LENGTH | 以字符给出字符串的长度 |
REPLACE | 执行字符串搜索和替换 |
SUBSTR | 截取字符串 |
TRIM | 裁剪/去除前面或后面的空格字符串 |
LOWER | 将字符串中的字母转换成小写 |
UPPER | 将字符串中的字母转换成大写 |
实例 :
1) concat ,拼接两个字符串
2) initcap,首字母大写 : 将一个单词首字母转换成大写,其余转换成小写
3) instr , 找出某个字符串在另一个字符串中第一次出现的位置,计数从1开始
4)length,以字符给出字符串的长度
5)replace,执行字符串搜索和替换
6)substr ,取字符串的子串
方式一 : 从起始位置截取到末尾
方式二 : 从起始位置截取到结束位置
7)trim,去除字符串两端的空白
8)lower,将字符串转换成小写
9)upper,将字符串变为大写
2. 数值函数
常见数值函数
函数 | 说 明 |
ABS(value) | 绝对值 |
CEIL(value) | 大于或等于value的最小整数 |
FLOOR(value) | 小于或等于value的最大整数 |
MOD(value) | 求模 |
ROUND(value) | 按 precision 精度 四舍五入 |
SQRT(value) | value 的平方根 |
POWER(value,exponeent) | value 的 exponent 次幂 |
TRUNC(value,按 precision) | 按照 precision 截取 value |
1)abs,绝对值
2)ceil,大于或等于value的最小整数
3)floor,小于或等于value的最大整数
4)mod,求模(通俗讲,小学的13除2等于6余1 就是取模运算。)
5)round, 四舍五入
6)sqrt, value的平方根
7)power,value的exponent次幂(也就是求value的倒数 例如,2的倒数是-1/2)
8)trunc , 按照 precision 截取 value
3. 日期函数
注 : MySQL中 获取当前系统时间 用 now() 而 Oracle 获取当前系统时间 用 sysdate
常见日期函数类型
函数 | 说 明 |
ADD_MONTHS | 在日期 date 上增加 count 个月 |
LAST_DAY(date) | 返回日期 date 所在月的最后一天 |
MPNTHS_BETWEEN(date 1, date 2 ) | 返回 date2 - date1 的月数(可以是小数) |
NEXT_DAY(date,"day") | 返回 日期 date 之后 下一天的日期,这里的日期为星期, Mon.(Monday) 星期一 |
ROUND(date , "format") | ROUND 函数判断时间的区间 YEAR/yyyy 表示判断是否上下半年 MONTH/MM 判断是否是上下半月 |
TRUNC(date,"format") | YEAR/yyyy 表示获取这一年 的第一天 MONTH/MM 获取这个月的第一天 DAY 获取这个星期的第一天 |
1)add_months,在日期 date 上增加 count 个月
2)last_day,返回当月所在的最后一天
3)months_between,给出 date2-date1的月数,可以是小数
4)next_day,给出日期date之后下一天的日期
5)round,判断事件的区间
6)trunc,格式化
4.转换函数
常见转换函数类型
函数 | 说明 |
TO_CHAR | 转换日期格式到字符串 |
TO_DATE | 按照指定的格式将字符串转换到日期型 |
TO_NUMBER | 将数字字串转换到数字 |
1) to_char,转换日期格式到字符串
2)to_date,按照指定的格式将字符串转换到日期型
3)to_number,将数字字串转换到数字
二 . 集合运算
1 . 什么是集合运算?
集合运算,集合运算就是将两个或者多个结果集组合成为一个结果集。
集合运算包括:
··UNION ALL(并集),返回各个查询的所有记录,包括重复记录。
··UNION(并集),返回各个查询的所有记录,不包括重复记录。
··INTERSECT(交集),返回两个查询共有的记录。
··MINUS(差集),返回第一个查询检索出的记录减去第二个查询检索出的记录之后剩余的记录。
2 并集运算
首先,我们先查询一下表中所有数据,知道表的数据有哪些.
其次我们在条件查询.
条件查询 1 : 查询id小于7的数据
条件查询 2 : 查询id 大于5的数据
从表的数据图上可以看出 两个条件中id为6的哪条数据出现了2次.
下面我们将运用 集合运算将id大于5 的表 和 id小于7 的表 连接起来.
1 ) 并集 , union all , 允许有重复数据
2) 并集, union ,不允许有重复数据
3 交集运算
4 差集运算
这就是小喵学的知识了,
但是由于一些原因一直没有写完,
直到现在才完成.
还是希望通过这次的事情让小喵引以为戒,
那希望小喵的知识对你依然还算有用!
为努力中的自己比个yeah
(^_^)~喵~!!