3.oracle 的过滤和模糊和排序
Posted 永远怀着学徒的心
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了3.oracle 的过滤和模糊和排序相关的知识,希望对你有一定的参考价值。
过滤 关键字字段 where
1.例如在原有的查询sql后面加上
select * from 表名 where 字段名 > 200 and 字段名 = \'111\' or z字段名 = \'1112\'
2.多条件查询 and优先级大于or 过滤条件区分大小写
3.字符串出现的话严格区分大小写
时间的话可以用to_char(字段名,\'yyyy-mm-dd\') 转换成字符再比较
to_char(字段名,“yyy-mm-dd”) = \'1994-06-07\'
4.比较运算符号和mysql 一致 唯一的区别就是<>oracle中可以表示=,赋值符号:=
5. 多值中有一个符合就显示得话可以不用一直 使用in(值,值,值,)
6.单个模糊
where 字段名 like \'%a%\' %在前面 表示前面可以不管是啥 后面有a就行 后面%那个就是 理念相同
如果要表示第个2是a的 那就是where 字段名 like \'_a%\' 第几个就加几个下滑线 (如果这个字段的中含有下划线怎么办,like \'-a%\')escape \'\'
写oracle sql时有时候会有 and (字段 like ‘匹配串1’or 字段 like ‘匹配串2’or ...)这样的情况出现,下面提供一个简洁点的解决方案--
<=>
and REGEXP_LIKE(字段, \'(匹配串1|匹配串2|...)\') //全模糊匹配 等价于上一行,行的通
and REGEXP_LIKE(字段, \'^(匹配串1|匹配串2|...)\') ";//右模糊匹配
and REGEXP_LIKE(字段, \'(匹配串1|匹配串2|...)$\') ";//左模糊匹配
7.空值 的条件 就是 字段值 is null 非空值条件 字段名 is not null
8. 条件优先级
最大刀最小 算术运算,链接符,比较符, (is null 或者 like 或者in) ,between ,not ,and ,or 可以使用括号 修改运算优先级
9.字段名 between A and B
排序 order by 关键子 desc 倒序 asc 正序 默认正序
sql 实例
select * from 表名 where 字段名 = ’aaa‘ order by 字段名 desc 如果没有 字段名 = ’aaa‘ 这个条件 需要把where 去掉
1. 多个排序字段写法
order by 字段名 desc,字段名 asc 在第一个条件相同的条件下进行第二个条件排序
以上是关于3.oracle 的过滤和模糊和排序的主要内容,如果未能解决你的问题,请参考以下文章