oracle 用IN来替换OR】的更多相关文章

  可用 NVL(), IFNULL() ,COALESCE(),DECODE() 函数 1.NVL() 从两个表达式返回一个非 null 值.语法NVL(eExpression1, eExpression2)参数eExpression1, eExpression2 如果 eExpression1 的计算结果为 null 值,则 NVL( ) 返回 eExpression2.如果 eExpression1 的计算结果不是 null 值,则返回 eExpression1.eExpression1…
REPLACE(string,s1,s2) string 希望被替换的字符或变量 s1 被替换的字符串 s2 要替换的字符串 SQL> select replace(he love you,he,i) from dual; REPLACE(H ---------- i love you…
一.语法 replace(str_source,str1,str2)  把 str_source 中 str1 字符串替换为 str2 字符串,当 str2 为 null 或'' 时,与下个作用相同 replace(str_source,str1)         把str_source 中的 str1 字符串剔除 regexp_replace(str_source,pattern_str,rep_str) 支持正则表达式,用法类似于 replace,但功能更强大 regexp_replace(…
下面的查询可以被更有效率的语句替换: 低效: SELECT…. FROM LOCATION WHERE LOC_ID = 10 OR     LOC_ID = 20 OR     LOC_ID = 30 高效 SELECT… FROM LOCATION WHERE LOC_IN IN (10,20,30); 这是一条简单易记的规则,但是实际的执行效果还须检验,在ORACLE8i下,两者的执行路径似乎是相同的.…
一个处理不规范日期的函数,廖记一下吧,以免再忘. --注意全角半角 CREATE OR REPLACE function f_str2form( date_string in varchar2 ) return VARCHAR2 is v_dateform VARCHAR2;--声明方式 v_tempStr VARCHAR2; begin exit when (nvl(date_string,'') = ''); IF REGEXP_LIKE(t.USE_DATE, '\d{4}-\d{2}-\…
避免使用HAVING子句, HAVING 只会在检索出所有记录之后才对结果集进行过滤. 这个处理需要排序,总计等操作. 如果能通过WHERE子句限制记录的数目,那就能减少这方面的开销. 例如: 低效: SELECT REGION,AVG(LOG_SIZE) FROM LOCATION GROUP BY REGION HAVING REGION REGION != ‘SYDNEY’ AND REGION != ‘PERTH’ 高效 SELECT REGION,AVG(LOG_SIZE) FROM…
通常来说 , 采用表连接的方式比EXISTS更有效率 SELECT ENAME FROM EMP E WHERE EXISTS (SELECT ‘X’ FROM DEPT WHERE DEPT_NO = E.DEPT_NO AND DEPT_CAT = ‘A’); (更高效) SELECT ENAME FROM DEPT D,EMP E WHERE E.DEPT_NO = D.DEPT_NO AND DEPT_CAT = ‘A’ ; (译者按: 在RBO的情况下,前者的执行路径包括FILTER,…
数据库中存储了海量的数据,当查询时使用like,速度明显变慢.我在做项目时,发现使用内部函数INSTR,代替传统的LIKE方式查询,并且速度更快. INSTR()函数返回字符串中子字符串第一次出现的位置.如果在str中找不到子字符串,则INSTR()函数返回零(0).下面说明了INSTR函数的语法.INSTR(str,substr);    1INSTR函数接受两个参数:    str 是要搜索的字符串.    substr 是要搜索的子字符串. 查找用户名称name中包含a的用户,作用类似于L…
1.replace 函数 语法:replace(char, search_string, replacement_string) --针对字符串替换 功能: ​ 将char中的字符串替换. ​ 当replacement_string为空时,剔除search_string. select replace('fasdfasdf','fk','j') as col from dual; -- fasdfasdf select replace('fdasfasdd','as','jjj') as col…
在.NET平台下开发Oracle应用的小伙伴们肯定都知道一方面做Oracle开发和实施相比SqlServer要安装Oracle客户端(XCopy.自己提取相关文件也有一定复杂性),另一方面相比JAVA平台不如JDBC方便快捷,特别是一些刚接触Oracle的小伙伴,面临配置tns.ora.OraHome等等多少有些畏难情绪. 初始庐山 现在,这一切都即将成为过去啦.继早些时候Oracle官方推出的ODP.NET Managed的Beta版之后,最近的版本已经跟随12c一起发布了,可以在此下载.对应…
在.NET平台下开发Oracle应用的小伙伴们肯定都知道一方面做Oracle开发和实施相比SqlServer要安装Oracle客户端(XCopy.自己提取相关文件也有一定复杂性),另一方面相比JAVA平台不如JDBC方便快捷,特别是一些刚接触Oracle的小伙伴,面临配置tns.ora.OraHome等等多少有些畏难情绪. 初始庐山 现在,这一切都即将成为过去啦.继早些时候Oracle官方推出的ODP.NET Managed的Beta版之后,最近的版本已经跟随12c一起发布了,可以  DLL h…
Oracle字符集问题总结 分类: Oracle2006-06-04 13:48 1298人阅读 评论(3) 收藏 举报 oracle数据库sqlcharacter存储insert 作者: vstonet 出处: 菊花论坛   经常看到一些朋友问ORACLE字符集方面的问题,我想以迭代的方式来介绍一下. 第一次迭代:掌握字符集方面的基本概念. 有些朋友可能会认为这是多此一举,但实际上正是由于对相关基本概念把握不清,才导致了诸多问题和疑问.首先是字符集的概念.我们知道,电子计算机最初是用来进行科学…
SQL > exec ctx_ddl.create_preference ('my_test_lexer','chinese_lexer') : PL/SQL 过程成功完成 SQL > EXEC ctx_ddl.create_preference ('my_test_mds','MULTI_COLUMN_DATASTORE') : PL/SQL 过程成功完成 SQL > exec ctx_ddl.set_attribute ('my_test_mds'. '列'. ' base_keyw…
1 简介 ORACLE数据库字符集,即Oracle全球化支持(Globalization Support),或即国家语言支持(NLS)其作用是用本国语言和格式来存储.处理和检索数据.利用全球化支持,ORACLE为用户提供自己熟悉的数据库母语环境,诸如日期格式.数字格式和存储序列等.Oracle可以支持多种语言及字符集,其中oracle8i支持48种语言.76个国家地域.229种字符集,而oracle9i则支持57种语言.88个国家地域.235种字符集.由于oracle字符集种类多,且在存储.检索…
目录 一.前言 二.注意点 三.Oracle执行计划 四.调优记录 @ 一.前言 本博客只记录工作中的一次oracle sql调优记录,因为数据量过多导致的查询缓慢,一方面是因为业务太过繁杂,关联了太多表.面对复杂的业务场景,确实有些情况是需要关联很多表的.当然有些情况是可以将业务实现放在Java代码里,有些情况可以不要关联很多表. 二.注意点 对于SQL调优,不要马上就说加索引什么的,加索引不一定就能解决问题的,加错索引,反而会导致查询变慢,注意加索引的同时也会影响数据库写数据的速度. 三.O…
这两天老大让我再oracle中把要替换的表被其他对象引用之处找出来,整理一份表,接到这个任务,我是一脸懵逼,怎么找?大海捞针么?问同事.查资料,自己研究,最后整理一下仅供大家参考,同时以备将来回顾.本篇只涉及表被其他数据库对象引用,不涉及外键,想寻找外键的,自己查看下面附有的链接. 首先有下列几种方式: 1.plsql工具 : 点击工具,找到 查找数据库对象 最后进入到查找页面 最后根据页面把要查找的 表对象或者关键词填入 文本查找   里,再在对象条件里 选择自己要筛选的条件即可筛选.但是此方…
Oracle数据库字符集问题解析 经常看到一些朋友问ORACLE字符集方面的问题,我想以迭代的方式来介绍一下.第一次迭代:掌握字符集方面的基本概念.有些朋友可能会认为这是多此一举,但实际上正是由于对相关基本概念把握不清,才导致了诸多问题和疑问.首先是字符集的概念.我们知道,电子计算机最初是用来进行科学计算的(所以叫做“计算机”),但随着技术的发展,还需要计算机进行其它方面的应用处理.这就要求计算机不仅能处理数值,还能处理诸如文字.特殊符号等其它信息,而计算机本身能直接处理的只有数值信息,所以就要…
.NET Oracle Developer的福音--ODP.NET Managed正式推出   在.NET平台下开发Oracle应用的小伙伴们肯定都知道一方面做Oracle开发和实施相比SqlServer要安装Oracle客户端(XCopy.自己提取相关文件也有一定复杂性),另一方面相比JAVA平台不如JDBC方便快捷,特别是一些刚接触Oracle的小伙伴,面临配置tns.ora.OraHome等等多少有些畏难情绪. 初始庐山   现在,这一切都即将成为过去啦.继早些时候Oracle官方推出的O…
Oracle中有关字符串操作的语法 Oracle提供了丰富的字符串函数 lpad()函数 lpad()函数用于左补全字符串.在某些情况下,预期的字符串为固定长度,而且格式统一,此时可以考虑使用lpad()函数.例如,深市股票代码都以0开头,并且都为6位,可以利用lpad格式化股票代码,以保证股票代码的格式. select lpad('21',6,'0') stock_code from dual; 需要注意的是,当原字符串的长度大于预期长度时,实际进行的是截取字符串操作. select lpad…
所谓出于job而胜于job,说的就是Oracle 10g后的新特性Scheduler啦.在10g环境中,ORACLE建议使用Scheduler替换普通的job,来管理任务的执行.其实,将Scheduler描述成管理job的工具已经太过片面了,10G版本中新增的Scheduler绝不仅仅是创建任务这么简单.... 提示:ORACLE中管理Scheduler是通过DBMS_SCHEDULER包,本章也以此为切入点,通过详细介绍DBMS_SCHEDULER包的使用,来演示如何使用Scheduler.似…
BLL   是业务逻辑层   Business   Logic   Layer DAL   是数据访问层   Data   Access   Layer ASP.NET的三层架构(DAL,BLL,UI) 图形表示三层结构. 其中web即为USL层 web –> bll –> dal|           |          ||           V          |+–> model <—+ 一.三层体系架构 1.表示层(USL):主要表示WEB方式,也可以表示成WINF…
NET Oracle Developer的福音——ODP.NET Managed正式推出 在.NET平台下开发Oracle应用的小伙伴们肯定都知道一方面做Oracle开发和实施相比SqlServer要安装Oracle客户端(XCopy.自己提取相关文件也有一定复杂性),另一方面相比JAVA平台不如JDBC方便快捷,特别是一些刚接触Oracle的小伙伴,面临配置tns.ora.OraHome等等多少有些畏难情绪. 初始庐山 现在,这一切都即将成为过去啦.继早些时候Oracle官方推出的ODP.NE…
ASP.NET的三层架构(DAL,BLL,UI) BLL   是业务逻辑层   Business   Logic   Layer DAL   是数据访问层   Data   Access   Layer ASP.NET的三层架构(DAL,BLL,UI) 图形表示三层结构. 其中web即为USL层 web –> bll –> dal|           |          ||           V          |+–> model <—+ 一.三层体系架构 1.表示层(…
使用时有一个重要前提:你不能使用oracle的classes12.jar,需要把oracle的jdbc驱动替换成ojdbc14.jar,否则savepoint()功能不能使用(出现“abstract方法尚未被oracle的jdbc驱动实现的错误”). JDBC 3.0的savepoints可以让你细化地控制一个数据库事务. JDBC 3.0的一个最酷的新功能就是它可以在一个事务中创建并运用savepoints. Savepoints——长期以来是SQL的一个 功能——通过标记事务可以回滚到的中间…
ORACLE调用接口(Oracle Call Interface简称OCI)提供了一组可对ORACLE数据库进行存取的接口子例程(函数),通过在第三代程序设计语言(如C语言)中进行调用可达到存取ORACLE数据库的目的. 所需环境和软件: automake :automake 1.11.1(下载链接: http://ftp.gnu.org/gnu/automake/)(其他版本编译oci时提示缺少automake1.11.1) OCI:ocilib-4.1.0-gnu.tar.gz(下载链接:h…
公司考虑到代码的可持续维护性,要求全部使用java7,自己又想在空闲时间学一些java8的新特性,故在安装完1.7之后又安装了1.8,导致eclisp在启动时报’has value ‘1.8’,but’1.7’ is required’的错误,在控制台使用Java -version进行查询发现,依然会报’has value ‘1.8’,but’1.7’ is required’的错误,如下 C:>java -version Error: Registry key ‘Software\JavaSo…
深入浅出C#三层架构(转) 本文用一个示例来介绍如何建设一个三层架构的项目,并说明项目中各个文件所处的层次与作用.写本文的目的,不是为了说明自己的这个方法有多对,而是希望给那些初学三层架构却不知从何入手的朋友提供一点帮助.因为网上的文章,大多是注重理论的介绍,而忽略了具体的实践应用,或者有示例但讲得不透彻.导致看了之后,理论上又学习了一遍,但还是不知道代码怎么写.所以想从这个方面入手写一下,让从来没做过三层架构的初学者也能照猫画虎,写出代码来.文中的代码是伪代码,仅用来阐明思路.    正文:…
使用java7,自己又想在空闲时间学一些java8的新特性,故在安装完1.7之后又安装了1.8 eclispe在启动时报’has value ‘1.8’,but’1.7’ is required’的错误, 在控制台使用Java -version进行查询发现,依然会报’has value ‘1.8’,but’1.7’ is required’的错误,如下 C:>java -version Error: Registry key ‘Software\JavaSoft\JavaRuntime Envi…
Java实现Excel数据批量导入数据库 概述: 这个小工具类是工作中的一个小插曲哦,因为提数的时候需要跨数据库导数... 有的是需要从oracle导入mysql ,有的是从mysql导入oracle 实践之后我们会发现 使用navicat工具连接mysql数据库, 从oracle数据库中导出数据为csv格式,再导入mysql是很快的,大概是分分钟的问题吧 但是当我们使用plsql连接oracle数据库,然后在mysql数据库中导出sql文件形式的数据想要插入oracle的时候,就很慢了....…