Oracle数据库是世界上最广泛使用的数据库系统之一,它提供了丰富的功能和工具用于数据管理。在复习Oracle知识时,有几个关键点值得特别关注。
字符串操作是数据库查询中常见的任务。在Oracle中,`||`用于字符串拼接,例如`last_name || ' ' || job_id`会组合员工的姓和岗位ID。单引号的转义需要使用两个单引号,如`'s`需要写成`''s`。`LIKE`操作符用于模式匹配,配合`ESCAPE`可以处理特殊字符。例如,`job_id LIKE '%#_RE%' ESCAPE '#'`能找到含有"#_RE"模式的岗位ID。`REPLACE`函数则用于替换字符串中的特定部分,如`REPLACE('HELLOWORLD','O')`将所有'O'替换为空。
Oracle提供了多种函数处理字符串的截取、查找和修剪。`SUBSTR`函数从指定位置开始截取字符串,如`SUBSTR('HELLOWORLD',4)`得到'LOWORLD'。负数的`N1`表示从字符串末尾开始计算。`INSTR`函数则用于查找子字符串的出现位置,例如`INSTR('HELLOWORLD','L',4)`返回4。`RTRIM`用于去除字符串右侧的空格,而`LPAD`可以用来在字符串左侧填充字符以达到指定长度。
数字处理方面,`TRUNC`函数用于截断数字,保留指定的小数位数。`CEIL`和`FLOOR`分别用于向上和向下取整,`MOD`函数计算除法的余数。例如,`MOD(1000,300)`返回100,而`MOD(1000,0)`直接返回1000。
日期函数在数据库操作中也极为重要。`ADD_MONTHS`可以计算日期加上或减去指定月数的结果,`LAST_DAY`返回给定日期所在月份的最后一天,`NEXT_DAY`则找出给定日期后第一个特定星期的日期。例如,`NEXT_DAY(SYSDATE,'星期一')`会给出当前日期后的第一个星期一。
Oracle还支持不同语言的日期表示,例如中文的星期一到星期日,英文的MONDAY到SUNDAY,以及日文的相应表示。
转换函数允许不同数据类型的相互转换。`TO_CHAR`函数用于将日期或数字转换为字符串,可以自定义输出格式。例如,`TO_CHAR(SYSDATE, 'YYYY/MM/DD HH24:MI:SS')`会将当前日期时间转换为'年/月/日 时:分:秒'格式。`TO_DATE`则相反,将字符串转换为日期。在比较运算和算术运算中,Oracle会自动进行隐式类型转换,而在连接运算中,不同类型的数据会被转换为字符串。
Oracle数据库提供了强大的数据处理和转换能力,理解并熟练运用这些函数和操作对于数据库管理和查询至关重要。在复习时,应重点掌握字符串操作、数值处理、日期函数和转换函数的使用,这些都是日常数据库工作中最常用的功能。