Oracle学习总结
1.所有查询出来的表格都重复显示很多标题行,针对其优化:
- 设置每行显示的数据长度:set linesize 300
- 设置每次显示的行数:set pagesize 30
格式化的操作没有意义,只是针对于数据库直接操作进行。针对一个列进行格式化:col 列 for a数字;
2.简单查询只能控制数据列,但是它无法进行数据行的控制,想对所选择的数据行进行控制用where子句。
3.null从数据库定义上来讲属于一个位置的数据,在任何情况下,任何一个数字与null进行计算,结果还是未知(null)。
4.字符串函数:
- 转大写函数:字符串 upper(数据列|字符串数据)
- 转小写函数:字符串lower(列|字符串)
在一些严格的操作环境下,对于不区分大小写的操作基本上一2种做法:
- 数据保存时,将数据统一变为大写或小写字母,查询时可以直接用函数处理
- 数据保存时将所有数据按照原始方法保存,查询时将每个数据种的字母都变为大写形式(但是性能相对差)
- 首字母大写:字符串 initcap(列 | 数据):除了首字母大写外,其余都是小写。
- 计算字符串的长度:length(列 | 字符换数据)
所有单行函数可以在sql语句的任意位置上出现
- 字符串替换,使用指定的内容替换掉原始字符串中的数据:replace(列 | 数据,要查找内容,新的内容),利用replace可以消除掉字符串中全部空格数据
- 字符串截取:substr(列 | 数据,开始点)从指定的开始点一致截取到结尾;substr(列 | 数据,开始点,长度)截取指定范围的字符串
对于substr函数,它的下标从1开始,即使设置的是0,那么也会按照1来处理
5.数值函数:针对数字进行处理的
- 四舍五入函数:round(列 | 数字,[保留小数位]),如果不设置保留小数位表示不保留
round(78915.678):78916;round(78915.67822,2):78915.68;round(78915.67822,-2):78900(把不足5的数据取消);round(78985.6782,-2):79000(超过5的需要进位);round(-15.35):-15;round(-15.65):-16
- 截取小数,所有小数都不进位:trunc(列 | 数字 [小数位])
trunc(78915.67823823):78915;trunc(78915.67823823,2):78915.67;trunc(78915.67823823,-2):78900;trunc(78985.67823823):78900;trunc(-15.65):-15
- 求余数:mod(列1 | 数字1,列2|数字2)