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 的过滤和模糊和排序的主要内容,如果未能解决你的问题,请参考以下文章

Oracle系列三 过滤和排序

Oracle过滤和排序

过滤和排序数据-oracle

drf过滤和排序及异常处理的包装

SQL SERVER和ORACLE中SQL语句一样吗?

Oracle的优化