Oracle12C | 常用方法

1. 数字操作

1.1 round(p1, p2) 保留小数点位数

1.2 nvl(expr1, expr2) 如果expr1为空,则返回expr2

1.3 greatest() 取几个数之间最大

select greatest(24,32,56) from dual;
-- 要把负数转化为0,即在负数和零之间取较大值就行
select greatest(-23,0) from dual;

1.4 to_number(字符串,格式) 将字符串转换成数字

-- 将字符串"33" 转换成数字 33
SELECT to_number('-33') FROM DUAL
-- 将数字33 转换成 负数 -33
SELECT to_number('-' || 33) FROM DUAL

2. 字符(串)操作

2.1 concat(p1, p2) 字段拼接, 可多个方法套用

-- 查找 BAS_PROINFO 中 ipil.code^ipil.mCode 和 BAS_PROINFO 中 mCode 值 相同的数据
SELECT ipil.code,ipil.mCode,bmo.mName,sum(ipil.num) FROM PRO_INFO ipil left join BAS_PROINFO bmo on bmo.mCode = concat(ipil.code,concat('^', ipil.maCode)) GROUP BY ipil.code,ipil.mCode,bmo.mName

2.2 substr(str,p1,p2) 截取字符串,p1是开始位,p2是截取长度

2.3 instr(expr1, expr2) 获取指定字符

instr(字段名,指定字符)
instr(字段名,指定字符,开始位置,第几次出现)

2.4 length(expr1) 获取字符串长度

length(指定字符串)

2.5 sys_guid() 自动生成32位类ID字符串

-- 自动生成32位不重复字符串序列, 可用于作为视图的ID
SELECT rawtohex(sys_guid()) FROM STU_GRA

2.6 replace(expr1, expr2,expr3) 替换

replace(字段名,'指定字符','替换字符')

3. 日期操作

3.1 trunc

  • 作用于日期
trunc(sysdate)                 //返回当前日期,无时分秒
trunc(sysdate,'year')          //返回当前年的1月1日,无时分秒
trunc(sysdate,'month')        //返回当前月的1日,无时分秒
trunc(sysdate,'day')          //返回当前星期的星期天,无时分秒
  • 作用于数字
trunc(number,decimals) //number 数字;decimals 位数,正数小数点后,负数小数点前,不做四舍五入

3.2 sysdate 取当前系统时间

3.3 to_date(expr1,expr2) 日期格式化

# [日期] 长度不能超过 yyyy-MM-dd
# 超过时报错: ORA-01830: 日期格式图片在转换整个输入字符串之前结束
to_date([日期], 'yyyy-MM-dd')
# [日期] 长度超过转换格式时
to_date(to_char([日期], 'yyyy-MM'), 'yyyy-MM')

4. 语句

4.1 case when 条件语句

select
proCode,
proName,
(
    CASE proType
    WHEN '01' THEN '上衣'
    WHEN '02' THEN '帽子'
    WHEN '03' THEN '首饰'
    ELSE ''
    END
) AS proType
from
BAS_PROINFO
where proType in ('01','02','03')

//then 和 else 后面还可接 select 语句,看下面例子

select
proCode,
proName,
proType
(
    CASE proType
    WHEN '01' THEN
    (
        select sum(num) from BAS_PROINFO_CLOTH where proType = '01'
    )
    ELSE
    (
        sum(num)
    )
    END
) AS proNum
from
BAS_PROINFO
where proType in ('01','02','03')
group by
proCode,
proName,
proType

4.2 union all 对两个结果集求并集,包含重复行

  • 多个表数量关联求和(例子)
select
proCode,
sum(num)
from
(
    (
        select
        proCodeA AS proCode,
        sum(numA) AS num
        from
        BAS_PROINFO_A
        group by
        proCodeA
    )
    UNION ALL
    (
        select
        proCodeB AS proCode,
        sum(numB) AS num
        from
        BAS_PROINFO_B
        group by
        proCodeB
    )
)
group by
proCode

//union all 要求并集的表字段类型必须相同!!!
(一)客户端组件和服务器端组件 2 (二)Oracle Database 的体系架构 2 1. 什么是数据库?什么是实例? 3 2. 存储结构 3 数据文件(data file) 4 联机日志文件(online redo log file) 4 控制文件(control file) 5 归档模式:冷备份,离线备份,热备份,联机备份 6 Spfile:二进制,9i 之后 Pfile:文本,9i 之前 6 可以将 spfile 转换为 pfile 6 注意:scope 的取值有三个:memory、spfile、both 7 一个表空间(tablespace)由一组段组成 8 Tablespaces(表空间) 8 system sysaux temp undo 8 Segments (段) 8 extents (区) 8 Data Block (数据块) 8 3. 进程结构 9 日志写进程(LGWR) 检查点进程(CKPT) 9 归档进程(ARCn) 恢复器进程(RECO) 9 2日志写进程(LGWR) 10 3检查点进程(CKPT) 10 6归档进程(ARCn) 10 7恢复器进程(RECO) 11 4. 内存结构 11 1共享池:shared pool 12 3重做日志缓冲区:log buffer 12 (三)自动内存管理和自动共享内存管理 13 (四)管理方案对象 13 (五)数据字典 15 (一)安装 Oracle Linux 7.3 64 位操作系统 17 (二)安装 Oracle Database 12cR2 19 (三)使用 DBCA 创建 Oracle 数据库 21 (四)验证 Oracle Database 12cR2 环境 25 (五)使用 oracle-database-server-12cR2-preinstall 包 25 三、管理数据库实例 27 (一)管理工具 27 (二)初始化参数 27 (三)数据库启动的过程 29 (四)数据库的关闭 29 四、配置 Oracle 的网络环境 31 (一)连接建立的过程 31 (二)使用 lsnrctl 命令 31 (三)如何配置监听器 33 (四)注册数据库的服务 34 (五)建立连接的方法 36 (六)共享服务器模式 38 (七)分布式数据库基础 40 五、管理用户和权限 42 (一)用户 42 (二)权限 46 (三)角色 51 (四)概要文件:Profile 54 六、管理数据库存储结构 57 (一)存储结构 57 (二)数据块的结构 57 (三)表空间和数据文件 57 (四)什么是自动存储管理 58 七、数据的并发处理 60 (一)锁定的机制 60 (三)锁的队列 60 (四)死锁 62 (五)手动加锁 64 (方式一)lock 语句 64 八、管理还原数据 65 (一)什么是还原数据? 65 (二)还原数据的作用 66 (三)还原数据的工作原理 66 (四)还原数据与重做数据 67 (五)管理还原数据 67 (六)还原保留期和确保还原保留期 67 九、数据库审计 68 (一)什么是数据库审计 68 (二)审计的参数设置 69 (三)强制审计 69 (四)标准审计 69 (五)基于值的审计 71 (六)细粒度审计(FGA) 71 (七)DBA 审计 73 (八)12c 审计的新特性 73 十、移动数据 76 (一)移动数据的整体架构 76 (二)目录对象 76 (三)使用 SQL*Loader 77 (四)数据泵 78 (五)外部表 80 十一、性能管理基础 82 (一)性能监视 82 (二)性能监视 82 (三)管理内存组件 83 (四)使用内存指导 83 (五)使用动态性能视图 84 (六)故障排除和优化视图 85 (七)无效和不可用对象 85 =======第二篇:备份与恢复======= 86 一、备份和恢复的基本概念 86 (一)衡量数据库可恢复性的两个指标 86 (二)数据库故障的类型 86 (三)配置数据库的可恢复性 88 (四)归档日志文件 88 (五)启用 ARCHIVELOG(归档)模式 89 (六)Oracle 数据库备份的解决方案 89 二、闪回 90 (一)什么是闪回 Flashback? 90 (五)闪回查询:Flashback Query 91 (六)闪回版本查询:Flashback Version Query 92 (七)闪回表:Flashback Table 93 (八)闪回数据库:Flashback Database 94 (九)闪回删除:Flashback Drop 95 (十)闪回事务查询:Flashback Transaction Query 96 (十一)闪回数据归档:Flashback Data Archive 98 三、用户管理的备份 101 (一)用户管理的备份简介 101 (二)第一个手工备份和恢复 102 (三)冷备份的脚本 103 (四)热备份的脚本:PLSQL 程序 103 四、用户管理的恢复 105 (一)归档模式下的完全 105 (二)非归档模式下的恢复 7 (三)不完全恢复 8 五、RMAN 备份与恢复基础 11 (一)备份与恢复基本术语 11 (二)RMAN 基本架构和命令 12 六、RMAN 的备份 13 (一)RMAN 脚本基础 13 (二)RMAN 的冷备份 13 (三)RMAN 的热备份 14 (四)增量备份 14 (五)镜像拷贝 14 (六)控制文件和归档文件的备份 15 七、RMAN 的恢复 15 (二)归档模式下的完全恢复 16 (二)非归档模式下的完全恢复 21 (三)RMAN 的不完全恢复 22 (四)RMAN 恢复的其他几个案例 23 八、RMAN 的高级设置 27 (一)RMAN 的参数设置 27 (二)什么是目录数据库? 28 (三)创建目录数据库 29
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值