问题: 有个表的字段是nvarchar2(32),但是在plsql中查询显示结果发现一直少一位. 修改方法: 在plsql里的首选项-连接里有个选项: 在oci8上强制使用oci7, 把这个勾上就ok了. 后续问题来了: A query with LOB's requires OCI8 mode, but OCI7 mode isused.…
oracle 中对查询出来的数据进行切割.截取等操作 最近遇到一个问题,需要把一个带有,的字符串拆分成多行.通过查询资料,这个操作需要使用以下2个关键知识: 1. REGEXP_SUBSTR函数 这个函数的作用是正则分隔字符串,用法为 function REGEXP_SUBSTR(String, pattern, position, occurrence, modifier) __srcstr     :需要进行正则处理的字符串 __pattern    :进行匹配的正则表达式 __positi…
注:本文来源于:<Oracle中如何查询CLOB字段类型的内容> 语法 select * from table_name where dbms_lob.instr(字段名(clod类型),'查询条件',1,1) > 0; 具体实例 /*查询质押单据信息*/ SELECT * FROM EDI.MID_LOG_OPEN_PLATFORM WHERE SENDER='J***D' AND CREATE_TIME >SYSDATE-1 AND SERVICE_ID='pledgeRequ…
Oracle中如何查询一个表的所有字段名和数据类型 查询语法 select A.COLUMN_NAME,A.DATA_TYPE from user_tab_columns A where TABLE_NAME='表名' 查询例子 select A.COLUMN_NAME,A.DATA_TYPE from user_tab_columns A where TABLE_NAME='PUB_GOODS' 添加排序后例子 select A.COLUMN_NAME,A.DATA_TYPE from use…
oracle当多表union时遇到nvarchar2类型时报错 字符集不匹配对使用nvarchar的地方,加上 to_char( nvarchar 的变量或字段 ) 如:select to_char(name),price from aa union allselect  to_char(name),price from bb 3张表aa,bb,cc都有 name price 字段 查询价格最高的前3位姓名 select * from(select to_char(name),price fro…
Oracle中在做字符匹配时 遇到 NVARCHAR2 类型时报错,提示 字符集不匹配. 对使用 NVARCHAR2 的地方,需要对字段进行字符转换,加上 to_char(nvarchar2 字段) 即可. 例如: SELECT substr(bm.matnr, 3) wlbm, ms.maktx wlms, bm.meins jldw, bm.matkl wlz , bm.normt gybzms,bm.laeda gxsj,(case to_char(trim(bm.lvorm)) when…
Oracle分页查询语句使我们最常用的语句之一,下面就为您介绍的Oracle分页查询语句的用法,如果您对此方面感兴趣的话,不妨一看. Oracle分页查询语句基本上可以按照本文给出的格式来进行套用.Oracle分分页查询格式: SELECT * FROM ( SELECT A.*, ROWNUM RN FROM (SELECT * FROM TABLE_NAME) A WHERE ROWNUM <= 40 ) WHERE RN >= 21 其中最内层的查询SELECT * FROM TABLE…
--查出所有现金中心的单位IDwith AllUnitas(select t.ORGANIZATIONID orgid,t.parentidfrom CDMS_ORGANIZATION t where T.CATEGORY = 4start with t.organizationid = '05e85693-14b0-4582-8063-8fbde85371f0' connect by t.parentid = PRIOR t.organizationid), N_instockas(-- in…
查询语句的处理过程主要包含3个阶段:编译.执行.提取数据(sql查询语句的处理主要是由用户进程和服务器进程完成的,其他进程辅助配合) 一.编译parse 在进行编译时服务器进程会将sql语句的正文放入SGA的共享池的库高速缓存区(library cache)中并将完成一下处理. 1.首先在共享池中搜索是否有相同的sql语句(正文),如果没有就进行后续的处理. 2.检查sql语句的语法是否正确 3.通过查看数据字典来检查表和列的定义是否有效 4.对所操作的对象加编译锁,以便在编译语句期间这些对象的…
树形查询一般用于上下级场合,使用的特殊sql语法包括level,prior,start with,connect by等,下面将就实例来说明其用法. 表定义: create table tb_hierarchy( id number(4,0) primary key, name nvarchar2(20) not null, pid number(4,0)) 充值: insert into tb_hierarchy(id,name) values('','Gates'); insert into…
一.禁止所有的外键约束 在pl/sql developer下执行如下语句:SELECT 'ALTER TABLE ' || table_name || ' disable CONSTRAINT ' || constraint_name || ';' FROM user_constraints where CONSTRAINT_TYPE = 'R';把查询出来的结果拷出来在pl/sql developer时执行. 先看看user_constraints是什么 user_constraints是表约…
一条简单的查询sql格式如下: SELECT ... FROM .... [WHERE ...] --过滤单行 [GROUP BY ...   [HAVING ...]]--GROUP BY对前面where条件过滤后的结果进行分组,HAVING过滤行组 [ORDER BY ...]--对结果进行排序 eg: 现在有个exchangetime表,表结构如下 名称                                            是否为空? 类型 ----------------…
前言:利用 oracle 的视图来查询表的相关信息. oracle 查询当前用户下的表名 + 表注释 select t.table_name tableName, f.comments comments from user_tables t inner join user_tab_comments f on t.table_name = f.table_name oracle 查询某表的所有字段 + 字段注释 + 字段类型 SELECT t.TABLE_NAME tableName, t.COL…
1.使用ROWNUM伪列查询 1.1.查询十条数据(rownum<=n) SELECT ROWNUM,A.* FROM v_sjjx_unit_info A WHERE ROWNUM<=10 1.2.查询实体十条数据(between...and...) SELECT * FROM v_sjjx_xsjbsjxx WHERE ROWNUM BETWEEN 0 AND 10 1.3.查询第二到第十条数据 SELECT * FROM (SELECT b.*,ROWNUM r FROM v_sjjx_…
要动态的变化分页查询的条件,比如pageNow 这个变量表示的是当前是第几页, oracle分页有通用写法,假设一页5行 select * from ( select t.*,rownum rn from ( select * from table1 where condition order by column) t ) ) 如果基础查询不需要排序,可以省掉一层嵌套 select * from ( select t.*,rownum rn from table1 t where conditi…
NVARCHAR2在计算长度时和字符集相关的: 比如数据库是中文字符集时以长度10为例, 1.NVARCHAR2(10)是能够存进去10个汉字的.假设用来存英文也仅仅能存10个字符. 2.而VARCHAR2(10)的话,则仅仅能存进5个汉字,英文则能够存10个. 注:二者字节上线都是4000.注意大小设置不要溢出.…
1.NVARCHAR2(10)是可以存进去10个汉字的,如果用来存英文也只能存10个字符. 2.而VARCHAR2(10)的话,则只能存进5个汉字,英文则可以存10个.…
将NVARCHAR2转换为VARCHAR2: declare v_username   varchar2(12)   ; v_nm_login   nvarchar2(12); begin select   utl_raw.cast_to_varchar2(utl_raw.cast_to_raw(v_nm_login)) into   v_username from   dual; end; 将VARCHAR2转换为NVARCHAR2: declare v_username   varchar2…
1.更新以上设置为 非注销部分 弄了很久很久哈.…
'value'=>'DateTime::createFromFormat("d#M#y H#i#s*A", $data["START_TIME"])->format("Y-m-d H:i:s")',…
SELECT COALESCE(A,B,C,'NA') FROM XXXXX --判断A若为空则取B,B为空这取C,C为空则取默认值'NA'…
1.对返回的行无任何限定条件,即没有where子句 2.未对数据表与任何索引主列相对应的行限定条件例如:在City-State-Zip列创建了三列复合索引,那么仅对State列限定条件不能使用这个索引,因为State不是索引的主列. 3.对索引的主列有限定条件,但是在条件表达式里使用以下表达式则会使索引失效,造成全表扫描:(1)where子句中对字段进行函数.表达式操作,这将导致引擎放弃使用索引而进行全表扫描,Demo:where upper(city)='TokYo' 或 City || 'X…
Oracle中NVARCHAR2和VARCHAR2的区别 [转]NVARCHAR2和VARCHAR2的区别,从使用角度来看区别在于:NVARCHAR2在计算长度时和字符集相关的,例如数据库是中文字符集时以长度10为例,则 1.NVARCHAR2(10)是可以存进去10个汉字的,如果用来存英文也只能存10个字符. 2.而VARCHAR2(10)的话,则只能存进5个汉字,英文则可以存10个 CHAR固定长度字符域,最大长度可达2000个字节       NCHAR多字节字符集的固定长度字符域,长度随…
Oracle中的操作符算术操作符:无论是在sqlserver,或者是java中,每种语言它都有算术操作符,大同小异. Oracle中算术操作符(+)(-)(*)(/) 值得注意的是:/ 在oracle中就相当于显示中的除法 5/2 = 2.5 比较操作符: 其中等号可以换成其他运算符:(后面为该操作符的单条件查询样例) != 不等于 select empno,ename,job from scott.emp where job!='manager'    ^= 不等于 select empno,…
INT类型是NUMBER类型的子类型.下面简要说明:(1)NUMBER(P,S)该数据类型用于定义数字类型的数据,其中P表示数字的总位数(最大字节个数),而S则表示小数点后面的位数.假设定义SAL列为NUMBER(6,2)则整数最大位数为4位(6-2=4),而小数最大位数为2位.(2)INT类型当定义整数类型时,可以直接使用NUMBER的子类型INT,顾名思义:INT用于整型数据. oracle本来就没有int类型,为了与别的数据库兼容,新增了int类型作为number类型的子集.int类型只能…
本文主要是记录一下实际使用oracle中join查询遇到的坑 1.用到两张表,学生表和学年分数表,先建立 2.普通连接查询 INNER JOIN,查询每个学年有成绩的学生以及分数情况 LFET JOIN 和 RIGHT JOIN 也类似,不举例了. 以下重点是说以下,连接的时候遇到的坑,以左连接举例: 这是查询条件在where后的结果 这是查询条件同样跟在on后的结果: 通过以上实例表明: on条件是在生成临时表时使用的条件,它不管on中的条件是否为真,都会返回左边表中的记录. where条件是…
本次预计讲解的知识点 1. 多表查询的操作.限制.笛卡尔积的问题: 2. 统计函数及分组统计的操作: 3. 子查询的操作,并且结合限定查询.数据排序.多表查询.统计查询一起完成各个复杂查询的操作: 一.多表查询的基本概念 在之前所使用的查询操作之中,都是从一张表之中查询出所需要的内容,那么如果现在一个查询语句需要显示多张表的数据,则就必须应用到多表查询的操作,而多表查询的语法如下: SELECT [DISTINCT] * | 字段 [别名] [,字段 [别名] ,-] FROM 表名称 [别名]…
最近做一个小项目,需要用到struts2标签从数据库查询数据,并且用迭代器iterator标签在查询页面显示,可是一开始,怎么也获取不到数据,想了许久,最后发现,是自己少定义了一个变量,也就是var变量.<s:iterator>标签有一个value属性,用来存放在Action类的方法中存数据的list集合,还有一个id,好像是说指定集合的索引的意思,就是给list集合遍历出来的每个对象加上一个数字标签,反正我是这么理解的,没用过.还有一个很重要,就是var变量,我在s:iterator按ctr…
将Oracle中查询的数据保存为Excel文件,通常使用的是PL/SQL Developer. 其实,Excel可直接写SQL语句查询Oracle中数据,在这里,用到ODBC驱动.详细步骤如下: 一.配置ODBC数据源 开始->控制面板->系统和安全->管理工具->ODBC数据源(可根据自己的情况选择32位还是64位). 因本机安装的是Oracle 11.2.0.4 64位,故选择ODBC数据源(64位),显示如下: 点击“添加”,选择“Oracle in OraDb11g_hom…
关于Oracle中查询的数字值的显示格式需要保留小数点后两位(或者三位,及其... 方法一:使用to_char的fm格式,即: to_char(round(data.amount,2),'FM9999999999999999.00') as amount 不足之处是,如果数值是0的话,会显示为.00而不是0.00. 另一需要注意的是,格式中小数点左边9的个数要够多,否则查询的数字会显示为n个符号“#”. 解决方式如下: select decode(salary,0,'0.00',(to_char…