Oracle 单行函数
单行函数
字符函数
大小写控制函数
字符控制函数
-- substr(a,b) 从a中,从b位开始取到最后
-- substr(a,b,c) 从a中, 第b个开始取, 取到c位
-- length 字符的长度
-- lengthb 字节的长度(在gbk 编码表下一个中文字符是站2个字节的 , 在utf-8 编码下, 中文是3个字节的, 数字英文占一个字节)
-- instr (a,b) 在a中查找b 返回位置索引
-- lpad 左c补充 , rpad 右填充 ( 补全 为10 位数字 )
-- trim 去掉前后指定的字符
-- replace 替换
数值函数
round 四舍五入
trunc 截断
mod 取余
round trunc 也可以是日期函数
日期函数
在MySQL中表示年月日 , data 表示 年月日十分秒 用datetime ;
但是在oracle 中没有dateTime 这个类型, Oracle 中既有日期也有时间的意思
to_char () 把什么格式格式化为什么格式
查看所有的员工的的工龄
日期是不能相加的 因为没有意义的
日期函数
months_between 计算两个月份之间的相差的月数 ;
add_months 向指定的日期加上若干个月数
next_day 指定日期的下一个日期 分布式数据库, 应用场景: 比如每周把,数据库中的数据拷贝到另一个表中, 就用这个函数, 进行自动完成, 异地容灾策略,比如地震火灾, 把设备弄坏了, 就要用异地容灾技术, 这样就可以使数据不丢失 911 ;
比如在北京的oracle 数据库 每个星期一把数据拷贝到上海的oracle 数据库中, 实现分布式数据库的方法,
1. 使用触发器
2. 使用快照 (第三天学习)
last_day 本月的最后一天
round 日期的四舍五入
trunc 日期的截断
转换函数
隐式转换
隐士数据类型转换有oracle 自动转换
显示转换
日期到字符串
数字到字符串
查询员工的薪水
字符串到数字
通用函数
nvl2 (); - nvl2(abc) 当a=null 的时候, 返回c; h否则返回b
nullif(); -- nullif(a,b) 当a=b 时候, 返回null , 否则放回a
-- coalesce 从左往右,找到第一个不为null的值
条件表达式
给指定的人涨工资
语法格式:(这种语法, 是根据sql99进行定义的, 在关系型数据库都是用, )
case 列 when 匹配的行 then 执行的代码
when 匹配的行 then 执行的代码
else 执行代码
end (必须加上结束)
DECODE函数(这个是根据java的语法格式oracle的独有的语法)
spool off 结束打印保存的sql 语句