3.oracle 的过滤和模糊和排序

时间:2021-06-30 18:13:21   收藏:0   阅读:0

过滤与排序

 

过滤 关键字字段 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 在第一个条件相同的条件下进行第二个条件排序

 

评论(0
© 2014 mamicode.com 版权所有 京ICP备13008772号-2  联系我们:gaon5@hotmail.com
迷上了代码!