有同事问我上述问题,我把我的实现思路写出来.子查询把查询的结果和默认的结果全部显示.父查询通过伪列rownum来筛选,如果查询有结果,就有几条就显示几条,而不去显示子查询中的默认值:如果查询没有结果,那就把默认值显示出来 举例: select * from (select table_name from user_tables where rownum < 3union allselect 'default' from dual ) where rownum <= (select case (…
本文首发于 http://youngzy.com/ 在Oracle中使用 null,''(空字符串),'_'(空格)时,有没有遇到问题?产生疑惑? null和’’(空字符串)是一个意思 注: 为了便于区分空字符串和空格,下面的示例均以 _ 代表空格 举个例子: --建表 ), col_b int); -- 造数据 ); -- 插入空格 ); -- 插入空字符串 ); -- 插入NULL 以上SQL执行成功后,执行 select 来检查: select count(*) from tbl_a; -…
关于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…
Oracle中查询当前数据库中的所有表空间和对应的数据文件语句命令 ----------------------------------------------------------------------------------------- 1.在cmd中输入sqlplus,弹出命令行窗体 2.输入口令和密码 3.SQL>col file_name for a60; 4.SQL>set linesize 160; 5.SQL>select file_name,tablespace_…
1.对返回的行无任何限定条件,即没有where子句 2.未对数据表与任何索引主列相对应的行限定条件例如:在City-State-Zip列创建了三列复合索引,那么仅对State列限定条件不能使用这个索引,因为State不是索引的主列. 3.对索引的主列有限定条件,但是在条件表达式里使用以下表达式则会使索引失效,造成全表扫描:(1)where子句中对字段进行函数.表达式操作,这将导致引擎放弃使用索引而进行全表扫描,Demo:where upper(city)='TokYo' 或 City || 'X…
Oracle中的一些查询语句及其执行顺序 原文地址:https://www.cnblogs.com/likeju/p/5039115.html 查询条件: 1)LIKE:模糊查询,需要借助两个通配符,%:表示0到多个字符:_:标识单个字符. 2)IN(list):用来取出符合列表范围中的数据. 3)NOT IN(list): 取出不符合此列表中的数据记录. 4)BETWEEN…AND…:用来查询符合某个值域范围条件的数据,最常见的是使用在数字类型的数据范围上,但对字符类型和日期类型数据也同样适用…
起因: 系统测试的时候发现如果某条记录已经被引用了,这个时候删除这条记录会引起数据不一致,系统会报错.比如警员信息,在考勤记录表里会引用警员ID,如果考勤记录表中已经存在这个警员ID了,这时从警员表中删除该警员,就会引起数据不一致,前台报错.所以,这个时候我就想查找数据库中所有引用这个ID的表 一:约束类型简介 约束用于确保数据库数据满足特定的商业逻辑或者企业规则,如果定义了约束,并且数据不符 合约束,那么DML操作(INSERT.UPDATE.DELETE)将不能成功执行.约束包括NOT NU…
--查看当前库中的所有表select * from all_tables a where a.table_name='INFOCODE_P20081'--查看表结构select * from all_tab_columns where table_name='INFOCODE_P20081'--查看触发器.过程.函数select * from user_source;select COUNT(*) from user_source WHERE TYPE='PROCEDURE';select *…
oracle我们查询当前系统时间的时候,经常用到dual,这个是什么东西呢? -- 查询系统时间 结果:2018/04/17 15:00:48 -- select sysdate from dual; -- 字符串转日期格式 结果: 2018/04/16 -- select to_date('2018-04-16','yyyy-MM-dd HH24:mi:ss') from dual; -- 日期转字符串格式 结果:2018-04-17 15:01:11-- select to_char(sys…
这两天老大让我再oracle中把要替换的表被其他对象引用之处找出来,整理一份表,接到这个任务,我是一脸懵逼,怎么找?大海捞针么?问同事.查资料,自己研究,最后整理一下仅供大家参考,同时以备将来回顾.本篇只涉及表被其他数据库对象引用,不涉及外键,想寻找外键的,自己查看下面附有的链接. 首先有下列几种方式: 1.plsql工具 : 点击工具,找到 查找数据库对象 最后进入到查找页面 最后根据页面把要查找的 表对象或者关键词填入 文本查找   里,再在对象条件里 选择自己要筛选的条件即可筛选.但是此方…
Oracle中如何获取系统当前时间 select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') from dual;  ORACLE里获取一个时间的年.季.月.周.日的函数 select  to_char(sysdate, 'yyyy' )  from dual; --年  select  to_char(sysdate, 'MM' )  from dual; --月 select  to_char(sysdate, 'dd' )  from dual; --…
先从历史表中查询最新的一个语句: select t.id from ( select r.*, row_number() over(partition by r.分组字段 order by r.排序时间 desc) rw from 表A r ' ) t 下面是完整语句:需要插入的表中字段要和下面查询语句字段对应上 insert into uav_flight_real_location (ID,LOCATION_TIME,GPS_LONGITUDE) select sys_guid() as i…
在 Java 测试中使用 Mockito 有段时日了,以前只是想当然的认为 Mock 的对象属性值和方法返回值都是依据同样的规则.基本类型是 0, 0.0, 或 false, 对象类型都是 null, Mock 对象的默认返回值也应该是一样的.直到最近有一天,有一个返回 Optional<String> 类型的方法,由于忘记对该方法打桩,意外的发现它返回的不是 null, 而 Optional.empty(), 因此才意识到此处定有蹊跷.着实有必要用代码验证一下 Mockito 是怎么决定属性…
[原创] 码路工人 大家好,这里是码路工人有力量,我是码路工人,你们是力量. 今天总结一下 ES6 中跟参数相关的内容. 欢迎补充斧正.留言交流. 让我们互相学习一起进步. 1. ES6 参数默认值(非必需参数/可选参数) 在 ES6 之前,函数的参数是无法设默认值的,聪明的人们当然有变通的方式,通过判断来参在函数刚开始给它赋上预想的初始值.具体在这篇里有介绍. 扩展阅读: [ES5 中参数默认值的手动实现][ES5Parameter] 到了 ES6,就可以愉快地设定参数默认值了.在下面的def…
最近写的功能中有这样一个小功能,根据数据库查询此库中是否有某表,如果有,查询某表下面的某个字段的详细信息 其中一种是... select ATC.OWNER, atC.TABLE_NAME, ATC.COLUMN_NAME, ATC.DATA_TYPE, ATC.DATA_LENGTH, ATC.NULLABLE, ucc.comments from (select ATC.OWNER, atC.TABLE_NAME, ATC.COLUMN_NAME, ATC.DATA_TYPE, ATC.DA…
比如 insert into table a (a1,b1)values("a1",''); 对于这种情况,因为表里存的是'',其实是没有内容的,要查询这个字段,不能直接使用 select * from a where b1=''; sql中判断非空不能用等号,因为null在sql中被看作特殊符号,必须使用关键字 is和not应该如此使用: select * from A where b1 is null 或者: select * from A where b1 is not null…
先分析表 select 'analyze table '||table_name||' compute statistics;' from user_tables; 把查询结果依次执行 把所有表分析一遍 然后user_tables中就会刷新表的信息 ; 查出行数为0的表信息.…
查询表的所有列及其属性:select t.*,c.COMMENTS from user_tab_columns t,user_col_comments c where t.table_name = c.table_name and t.column_name = c.column_name and t.table_name = women;查找表的主键:select cu.* from user_cons_columns cu, user_constraints au where cu.cons…
--1)查询和定位数据库问题的SQL语句--Oracle常用性能监控SQL语句.sql --1查询锁表信息 select vp.SPID, vs.P1, vs.P1RAW, vs.P2, vs.EVENT, vsql.SQL_TEXT, vsql.SQL_FULLTEXT, vsql.SQL_ID from v$session vs, v$sql vsql, v$process vp where vs.SQL_ID = vsql.SQL_ID and vs.PADDR = vp.ADDR and…
今天在做关于Oracle查询语句的练习时,碰到这么一个题目:找出EMP表中姓名(ENAME)第三个字母是A的员工姓名.我的Scott.emp表的现有数据如下: SQL> select * from emp; EMPNO     ENAME   JOB          MGR     HIREDATE         SAL   COMM   DEPTNO---------- ---------- --------- ---------- -------------- ---------- --…
1.查看所有用户: select * from dba_users; select * from all_users; select * from user_users; 2.查看用户或角色系统权限(直接赋值给用户或角色的系统权限): select * from dba_sys_privs; select * from user_sys_privs; (查看当前用户所拥有的权限) 3.查看角色(只能查看登陆用户拥有的角色)所包含的权限 sql>select * from role_sys_pri…
select--from--where--group by--having--order by 这6个查询关键字的执行顺序: 1.from组装来自不同数据源的数据:2.where基于指定的条件对记录行进行筛选:3.group by子句将数据划分为多个分组:4.使用聚集函数进行计算:5.使用having子句筛选分组:6.计算所有的表达式:7.select 集合输出:8.使用order by对结果集进行排序. 以下例子基于Oracle自带表空间hr 例子1:having和select的执行说明 情景…
在Oracle怎样查询表中的top10条记录呢? select * from test where rownum <=10     ----说明:rownum只能用于<或<=运算,如果要用>运算符就要用到嵌套查询. 下面是关于rownum的介绍 ================================ Rownum和row_number().over()的使用 ROWNUM是Oracle从8开始提供的一个伪列,是把SQL出来的结果进行编号,始终从1开始,常见的用途就是用来分…
1,REGEXP_LIKE :与LIKE的功能相似2,REGEXP_INSTR :与INSTR的功能相似3,REGEXP_SUBSTR :与SUBSTR的功能相似4,REGEXP_REPLACE :与REPLACE的功能相似它们在用法上与Oracle SQL 函数LIKE.INSTR.SUBSTR 和REPLACE 用法相同,但是它们使用POSIX 正则表达式代替了老的百分号(%)和通配符(_)字符.POSIX 正则表达式由标准的元字符(metacharacters)所构成:'^' 匹配输入字符…
一次看到某张表中有几条ID相同的数据,通过业务确认该ID应该是唯一的,后来找到原因,因为DBA未对该表建主键. 现在DBA工作比较忙,我们项目有时需要新增或者修改数据库表结构时,可能需要对表结构进行确认.下面提供几个比较有用对SQL,可以帮助大家看看数据库 中表结构定义怎样的,以PRODUCT表为例,请自行更换为所需的表名. 1.查询主键: ----*********查询主键------------ select col.* from user_constraints con,user_cons…
转自:https://my.oschina.net/u/3783799/blog/2870207 1.oracle 查询当前用户下的表名,表注释 select t.table_name, f.comments  from user_tables t inner join user_tab_comments f    on t.table_name = f.table_name 2.oracle 查询某表的所有字段,字段注释,字段类型 SELECT a.TABLE_NAME, a.COLUMN_N…
1.查询所有表的外键的: select table_name, constraint_name from user_constraints where constraint_type = 'R';   2.禁用所有外键约束, 使用下面的sql生成对应sql脚本: select 'alter table ' || table_name || ' disable constraint ' || constraint_name || ';' from user_constraints where co…
加入查询回调函数如下: function(tx,result){ var len = result.rows.length; var recordset = result.rows.item; ){ ;i<len;i++){ var tempdata = {}; tempdata["pid"] = recordset(i)["pid"]; tempdata["id"] = recordset(i)["id"]; temp…
--创建测试表 )); ,'); ,'); ,'); ,'); ,'); ,'); commit; select * from test; --查询相同记录 ); select id,name from test a where rowid > (select min(rowid) from test b where a.id = b.id and a.name = b.name); select id,name from test a where rowid <> (select ma…
不多说,直接上干货 1.查询当前用户下表的创建语句 select dbms_metadata.get_ddl('TABLE','ux_future') from dual; 2.查询其他用户下表的创建语句 select dbms_metadata.get_ddl('TABLE','ux_future','Admin') from dual; 3.查询表的index select index_name,index_type,table_name from user_indexes where ta…