oracle使用总结

1.`A`标识符无效,表示此字段在表中不存在
表视图不存在代表此表不存在
2. select *from A where name like ’%s_%’escape’s’
escape表示的s 后面的_号不能当做特殊字符处理, 就是查找普通的_号
sql中一般情况_号代表一个字符
3. Upper(’a’) 转化为大些
Lower(’A’)转化为小写
Initcap(’abcd’)将第一个字母变为大写,其他为小写
concat(’a’,’b’)将ab连接在一起
substr(’abcd’,2)从第二个开始切割,得到bcd
length(’ab’)长度 得到2
replace(’abc’,’c’,’b’)将c替换为b得到abb
instr()函数的格式 (俗称:字符查找函数)
格式一:instr( string1, string2 ) // instr(源字符串, 目标字符串) 查找出目标字符串第一次出现位置
格式二:instr( string1, string2 [, start_position [, nth_appearance ] ] ) // instr(源字符串, 目标字符串, 起始位置, 匹配序号)
4.NVL函数的格式如下:NVL(expr1,expr2)

含义是:如果oracle第一个参数为空那么显示第二个参数的值,如果第一个参数的值不为空,则显示第一个参数本来的值。

NVL2函数的格式如下:NVL2(expr1,expr2, expr3)
含义是:如果该函数的第一个参数为空那么显示第二个参数的值,如果第一个参数的值不为空,则显示第三个参数的值。

NULLIF函数
NULLIF(exp1,expr2)函数的作用是如果exp1和exp2相等则返回空(NULL),否则返回第一个值。

CASE gender
WHEN SEX =‘1’ THEN ‘男’
WHEN SEX =‘0’ THEN ‘女’
ELSE ‘其他’ END 性别

gender是表字段 end后的是输出 代替了gender

decode函数与case类型

last_day()函数的用法last_day(time):返回指定日期所在月份的最后一天

select ’Deq’ || initcap(name)from dual
所有名称前面加上Deq并且name中的数据首字母要大写
5.union all因为不需要排除重复行,所以效率相对高些
6.避免select*,oracle会根据数据字典将*转换成所有列,消耗更多时间
7.oracle会将小写转换成大写,尽量使用大写
8.from后面的表 是从右往左查的,应该将数据量最小的表放在右面作为基础表
where条件后是从下往上的,能过滤大量数据的条件放在最下面,表关联语句放在最上面
having应该避免使用,消耗资源
9.连接多个表时,使用表的别名将之作为每列的前缀,这样可以减少解析时间
10.not in 不等于操作符都不会用到索引 判断是否为空也用不到索引
11. A大于2 和A大于等于3是有区别的,前者去找2的索引去比较,后者直接找3

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值