在整个开发过程当中,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查询遇到的若干问题总结相关推荐

  1. oracle未找到远程连接,Oracle ORA-02019:未找到远程数据库的连接说明 | 学步园

    1. 建立 DATABASE LINK CREATE PUBLIC DATABASE LINK ABC CONNECT TO SA IDENTIFIED BY PASSWORD USING '(DES ...

  2. oracle函数 授权,如何在Oracle中以普通用户身份运行dbms_crypto函数?

    我在Oracle中使用dbms_crypto.hash()函数时遇到问题. 我使用sqlplus作为"sys / passwd as sysdba"连接到数据库服务器, 然后我安装 ...

  3. oracle怎么授权外地连接,Oracle异地RAC 简单介绍(Extended Distance Clusters)

    OracleExtended Distance Clusters指的是RAC的节点分别放在不同的地方,这些节点可以放在不同的机房,也可以放在不同的城市 主要条件 距离最好小于100KM,两节点之间要有 ...

  4. SQL Server 2012学习笔记 (三) ----- SQL Server SQL语句

      在很多情况下,可以用CREATE TABLE语句创建数据表.使用ALTER TABLE语句修改表结构.使用DROP TABLE语句删除表:   可以使用CREATE DATABASE创建数据库.A ...

  5. sql查询oracle数据,sql-server – 从SQL Server查询Oracle数据库

    我有一个Oracle 11g XE数据库,我想将其转移到SQL Server Express 2005中. 起初我以为我只是在Oracle中生成表作为SQL,操纵数据格式,并在SQL Server中运 ...

  6. oracle查询属主下对象,SQL优化

    Oracle Index Merge 与 and_equal 的变迁 June 8, 2010 and_equal是Oracle支持的一种特定操作,可以将多个单列索引进行合并(Index Merge) ...

  7. oracle审计查询sql语句,Oracle 数据库审计

    保证数据库的安全有两种方式,一种是通过权限的存取控制机制,即通过预先控制来防止安全事件的发生:另一种是数据库审计,即对数据库活动做跟踪记录,当发生安全事件时,通过对数据库活动记录进行审计来发现并修复安 ...

  8. Oracle PL/SQL语句基础学习笔记(上)

    PL/SQL是ORACLE对标准数据库语言的扩展,ORACLE公司已经将PL/SQL整合到ORACLE 服务器和其他工具中了,近几年中更多的开发人员和DBA开始使用PL/SQL,本文将讲述PL/SQL ...

  9. oracle用户授权访问其他用户的表,Oracle授权A用户查询B用户的所有表

    Oracle授权A用户查询B用户的所有表 需求: 新建的用户userA,要授权给他访问用户scott的所有表 有三种两方法: 1) SQL> conn / as sysdba; SQL> ...

最新文章

  1. 《大道至简》阅读笔记二
  2. git-commit编辑器nano改vim
  3. 自由自在意式手工冰淇淋走俏仲夏之季
  4. spring3.0异步_在Spring 4.2中更简单地处理异步事务绑定事件
  5. alpine linux安装java,alpinelinux安装openjre
  6. 【Todo】【转载】Scala中Array, List, Tuple的区别
  7. Windows华丽变身MAC OS X
  8. 微信会员系统的具体操作流程,怎么使用微信会员卡管理系统制作 button onclick=myFunction()
  9. 浮点型数据单片机传输
  10. Docker-使用Docker安装应用软件
  11. Flask——1.初识flask微框架
  12. 【技术人快报】摩拜单车多地区现Bug+iCloud完成中国本土化落地
  13. yuv图解(YUV444,YUV422,YUV420,YV12,NV12,NV21)
  14. OpenHarmony开源鸿蒙与HarmonyOS商业鸿蒙的区别
  15. VR社交应用Rec Room再获1.45亿美元融资,用户突破3700万
  16. 代码重构终极指南!!
  17. STP和RSTP详解-原理篇
  18. 正线计算机联锁cbi,正线信号课件课件.ppt
  19. Trie树沉思录(1)
  20. 小可爱 java实训课程06 jdbc

热门文章

  1. Caused by: java.lang.ClassNotFoundException: javax.servlet.jsp.jstl.core.LoopTag
  2. java continue goto_Java中goto和break、continue实现区别
  3. springmvc是什么_SpringBoot与SpringMVC的区别是什么?
  4. oracle decode_错过血亏!一文搞懂Oracle锁相关视图及相关操作
  5. linux服务器插上硬盘不能开机,Linux服务器添加新硬盘无法识别解决方法(无需重启)...
  6. [转载] 【零基础学爬虫】python中的yield详解
  7. suse leap_Ruby程序检查leap年
  8. 面试官 | AJAX请求为什么不安全?
  9. Xamarin截取/删除emoji表情bug解决方案
  10. 【MATLAB】无人驾驶车辆的模型预测控制技术(精简讲解和代码)【运动学轨迹规划】