oracle未授权sql查询,【oracle使用笔记3】sql查询遇到的若干问题总结
在整个开发过程当中,sql查询操做的频率比较高,在不一样的业务场景下会出现不一样的查询需求,如下是我在项目中遇到的查询需求,总结一下。sql
【查询一】:取查询出的第一条数据oracle
select * from (select * from [tableName] order by [key] asc/desc ) where rownum = 1函数
【查询二】:查询数值数据时,小于0的数值,小数点前的0须要显示性能
Oracle中对于数值的数据,小于0时小数点前的0不显示,如:.9,实际查询操做中须要显示为:0.9 ;一样,若是小数点后有0也会被Oracle隐藏,如0.20会显示0.2spa
【思路】:使用to_char()函数将数值类型转为字符类型处理,如:to_char(0.4, 'fm990.09'),结果会显示0.4,而不是 .4 ;code
【注】:格式fm90.09或fm99990.0099或fm999999990.000099999等等是由数据的大小而设定的,如“'fm99990.0099'”会显示0.40 ,能够动手试一试,取本身须要的格式索引
【查询三】:模糊匹配查询开发
在SQL中,一般使用like进行模糊匹配搜索,也能够用oracle中的instr()函数,做为模糊匹配时,该函数语法为:字符串
instr(源字符串,目标字符串)>0 等同于 源字符串 like ‘%目标字符串%’table
instr(源字符串,目标字符串)=0 等同于 取反(not like)
instr(源字符串,目标字符串)=1 等同于 目标字符串后缀模糊匹配
根据实际使用的状况来看,两者区别有几点:
当表的数据量很大时(千万级),使用like关键字查询至关慢,而使用instr()相对快一些,性能明显优于like关键字
在数据量大的且常常用来查询的表字段上加索引,使用instr()模糊匹配的效率会更好
【查询四】:条件语句查询
最经常使用的就是decode()和case..when..then,decode()函数使用比较简单,case..when..then比较复杂但很灵活
1.decode()函数:
语法:select decode(条件,值1,返回值1,值2,返回值2,…….,缺省值)from dual
结合sign()函数能够比较大小:select decode(sign(arg1-arg2),-1,arg1,arg2) from dual
2.case..when..then的2种用法:
case(条件) when 条件1 then 返回值1 when 条件2 then 返回值2 else 其余返回值
case when 条件表达式1 then 返回值1 when 条件表达式2 then 返回值2 else 其余返回值 end
3. 总结:decode()函数只能用作相等判断,可是能够配合sign函数进行大于,小于,等于的判断,CASE when可用于=,>=,,is null,is not null 等判断
未完待续.....
oracle未授权sql查询,【oracle使用笔记3】sql查询遇到的若干问题总结相关推荐
- oracle未找到远程连接,Oracle ORA-02019:未找到远程数据库的连接说明 | 学步园
1. 建立 DATABASE LINK CREATE PUBLIC DATABASE LINK ABC CONNECT TO SA IDENTIFIED BY PASSWORD USING '(DES ...
- oracle函数 授权,如何在Oracle中以普通用户身份运行dbms_crypto函数?
我在Oracle中使用dbms_crypto.hash()函数时遇到问题. 我使用sqlplus作为"sys / passwd as sysdba"连接到数据库服务器, 然后我安装 ...
- oracle怎么授权外地连接,Oracle异地RAC 简单介绍(Extended Distance Clusters)
OracleExtended Distance Clusters指的是RAC的节点分别放在不同的地方,这些节点可以放在不同的机房,也可以放在不同的城市 主要条件 距离最好小于100KM,两节点之间要有 ...
- SQL Server 2012学习笔记 (三) ----- SQL Server SQL语句
在很多情况下,可以用CREATE TABLE语句创建数据表.使用ALTER TABLE语句修改表结构.使用DROP TABLE语句删除表: 可以使用CREATE DATABASE创建数据库.A ...
- sql查询oracle数据,sql-server – 从SQL Server查询Oracle数据库
我有一个Oracle 11g XE数据库,我想将其转移到SQL Server Express 2005中. 起初我以为我只是在Oracle中生成表作为SQL,操纵数据格式,并在SQL Server中运 ...
- oracle查询属主下对象,SQL优化
Oracle Index Merge 与 and_equal 的变迁 June 8, 2010 and_equal是Oracle支持的一种特定操作,可以将多个单列索引进行合并(Index Merge) ...
- oracle审计查询sql语句,Oracle 数据库审计
保证数据库的安全有两种方式,一种是通过权限的存取控制机制,即通过预先控制来防止安全事件的发生:另一种是数据库审计,即对数据库活动做跟踪记录,当发生安全事件时,通过对数据库活动记录进行审计来发现并修复安 ...
- Oracle PL/SQL语句基础学习笔记(上)
PL/SQL是ORACLE对标准数据库语言的扩展,ORACLE公司已经将PL/SQL整合到ORACLE 服务器和其他工具中了,近几年中更多的开发人员和DBA开始使用PL/SQL,本文将讲述PL/SQL ...
- oracle用户授权访问其他用户的表,Oracle授权A用户查询B用户的所有表
Oracle授权A用户查询B用户的所有表 需求: 新建的用户userA,要授权给他访问用户scott的所有表 有三种两方法: 1) SQL> conn / as sysdba; SQL> ...
最新文章
- 《大道至简》阅读笔记二
- git-commit编辑器nano改vim
- 自由自在意式手工冰淇淋走俏仲夏之季
- spring3.0异步_在Spring 4.2中更简单地处理异步事务绑定事件
- alpine linux安装java,alpinelinux安装openjre
- 【Todo】【转载】Scala中Array, List, Tuple的区别
- Windows华丽变身MAC OS X
- 微信会员系统的具体操作流程,怎么使用微信会员卡管理系统制作 button onclick=myFunction()
- 浮点型数据单片机传输
- Docker-使用Docker安装应用软件
- Flask——1.初识flask微框架
- 【技术人快报】摩拜单车多地区现Bug+iCloud完成中国本土化落地
- yuv图解(YUV444,YUV422,YUV420,YV12,NV12,NV21)
- OpenHarmony开源鸿蒙与HarmonyOS商业鸿蒙的区别
- VR社交应用Rec Room再获1.45亿美元融资,用户突破3700万
- 代码重构终极指南!!
- STP和RSTP详解-原理篇
- 正线计算机联锁cbi,正线信号课件课件.ppt
- Trie树沉思录(1)
- 小可爱 java实训课程06 jdbc
热门文章
- Caused by: java.lang.ClassNotFoundException: javax.servlet.jsp.jstl.core.LoopTag
- java continue goto_Java中goto和break、continue实现区别
- springmvc是什么_SpringBoot与SpringMVC的区别是什么?
- oracle decode_错过血亏!一文搞懂Oracle锁相关视图及相关操作
- linux服务器插上硬盘不能开机,Linux服务器添加新硬盘无法识别解决方法(无需重启)...
- [转载] 【零基础学爬虫】python中的yield详解
- suse leap_Ruby程序检查leap年
- 面试官 | AJAX请求为什么不安全?
- Xamarin截取/删除emoji表情bug解决方案
- 【MATLAB】无人驾驶车辆的模型预测控制技术(精简讲解和代码)【运动学轨迹规划】