关于处理小数点位数的几个oracle函数()1. 取四舍五入的几位小数select round(1.2345, 3) from dual;结果:1.2352. 保留两位小数,只舍select trunc(1.2345, 2) from dual;结果:1.23select trunc(1.2399, 2) from dual;结果:1.233.取整数返回大于或等于x的最大整数: SQL> select ceil(23.33) from dual; 结果: 24 返回等于或小于x的最大整数: SQL> select fl...
-------------------------------多表查询----------------------------------------笛卡尔积查询.select*from emp,dept;--结果为64条,emp表有14条,dept表有4条
--别名查询
--改变查询后的结果显示的列名,在字段后面写要显示的列名(注意一定要用双引号括起来,oracle查询中之后这里用到双引号!)select ename "name" ,loc "地点" from emp e ,dept d where e.deptno = d.deptno;--查询出雇员的编号,姓名,部门的编号和名称,地址select...
SELECT A.OWNER, A.OBJECT_NAME, B.XIDUSN, B.XIDSLOT, B.XIDSQN, B.SESSION_ID, B.ORACLE_USERNAME, B.OS_USER_NAME, B.PROCESS, B.LOCKED_MODE, C.MACHINE, C.STATUS, C.SERVER, C.SID, C.SERIAL#, C.PROGRAM FROM ALL_OBJECTS A, V$LOCKED_OBJECT B, SYS.GV_$SESSION C WHERE (A.OBJECT_ID = B.OBJECT_ID) AND (B.PROCESS = C.P...
存储数据关系的时,表结构关系会存在一种树形关系,比如通过一个parentId字段来关联,下面用一个简单的小例子来描述Oracle中的递归查询创建表CREATE TABLE COMMENTS (COMMENTID INTEGER, PARENTID INTEGER, ARTICLEID INTEGER, COMMENTBODY VARCHAR2(500));
插入初始化数据INSERT INTO COMMENTS (COMMENTID, PARENTID, ARTICLEID, COMMENTBODY) VALUES (1, null, 1, ‘第一条评论‘);
INSERT INTO COMMENTS (COMMENTID, PARENTID, ART...
原则一:注意WHERE子句中的连接顺序: ORACLE采用自下而上的顺序解析WHERE子句,根据这个原理,表之间的连接必须写在其他WHERE条件之前, 那些可以过滤掉最大数量记录的条件必须写在WHERE子句的末尾. 尤其是“主键ID=?”这样的条件。 原则二: SELECT子句中避免使用 ‘ * ‘: ORACLE在解析的过程中, 会将‘*‘ 依次转换成所有的列名, 这个工作是通过查询数据字典完成的, 这意味着将耗费更多的时间 。 简单地讲,语句执行的时间越短越...
oracle标量子查询和自己定义函数有时用起来比較方便,并且开发者也常常使用。数据量小还无所谓。数据量大,往往存在性能问题。
下面測试帮助大家彻底搞懂标量子查询。SQL> create table a (id int,name varchar2(10));
Table created.
SQL> create table b (id int,name varchar2(10));
Table created.
SQL> insert into a values (1,'a1');
1 row created.
SQL> insert into a values (2,'a2');
1 row created.
SQL> insert into ...
本人在学习Oracle的过程中自己的感悟和网上其他大神的心得,有什么不对的地方希望大家指正!原则一:注意WHERE子句中的连接顺序: ORACLE采用自下而上的顺序解析WHERE子句,根据这个原理,表之间的连接必须写在其他WHERE条件之前, 那些可以过滤掉最大数量记录的条件必须写在WHERE子句的末尾. 尤其是“主键ID=?”这样的条件。 原则二: SELECT子句中避免使用 ‘ * ‘: ORACLE在解析的过程中, 会将‘*‘ 依次转换成所有的列名, 这个工...
一、创建数据1.1、建立表与插入数据CREATE TABLE DISTRICT
(ID NUMBER(10) NOT NULL,PARENT_ID NUMBER(10),NAME VARCHAR2(255 BYTE) NOT NULL
);ALTER TABLE DISTRICT ADD (CONSTRAINT DISTRICT_PKPRIMARY KEY(ID));ALTER TABLE DISTRICT ADD (CONSTRAINT DISTRICT_R01 FOREIGN KEY (PARENT_ID) REFERENCES DISTRICT (ID));insert into DISTRICT (id, parent_id, name)
values (1, null,...
1.乘积连接: 源表、源数据交叉链接,结果集数量为源数据之间的乘积2.相等链接: 通过where关联几个数据源中的某一字段进行链接3.自链接 自己链接自己 SSF A a1, A a24.不等链接 between C and C25.外连接 select * from A,B where A.C1 (+)= B.C1
若不加“(+)”则只返回相互关联成功的数据,若加了 (+) 则返回所有结果,无法关联的数据集字段内容为空6.ALL select * from A where A.C > ALL(
select C fr...
like 用法介绍:1、“_”:匹配单个任意字符select * from bqh3 where name like ‘_崔‘; 2、“%”:匹配0个或多个任意字符。但有三种情况如下: like %关键字:以关键字开头的记录 like 关键字%:以关键字结尾的记录 like %关键字% :包含以关键字的记录查询以A开头的全部信息select * from bqh3 where name like ‘A%‘查询第二个字母以A开头的全部信息:select * from bqh3 where name like ‘_A%‘ 查询字母中...
需求:现在oracle数据库中有字段is_use 的值有:null,0,1,2。现在需要查询不等于2的数据解决办法的sql: select * from uc_Users where nvl(is_use,‘xx‘)<>‘2‘=======================================nvl(is_use,‘xx‘)的意思是:如果is_use为null,值为xx。如果用select * from uc_Users where is_use<>‘2‘ 只会查询出0,1的数据。null的数据查询不出来。===============================================至于为什么查询不...
select * from (select t.*,row_number() over(partition by 分组字段 order by rownum) rn from 表名 t where 条件语句) where rn= 分组中的第几条;引用:https://blog.csdn.net/liuhaolian/article/details/89375042 原文:https://www.cnblogs.com/wym789/p/11475742.html
[oracle@hb shell_test]$ cat echo_time
#!/bin/sh一.最简单的调用sqlplus
sqlplus -S "sys/unimas as sysdba" << !
select to_char(sysdate,‘yyyy-mm-dd‘) today from dual;
exit;
![oracle@hb shell_test]$ ./echo_time 运行结果:TODAY
----------
2011-03-21-S 是silent mode,不输出类似“SQL>”,连接数据库,关闭数据库之类的信息。EOFeof可以是任何字符串 比如"laldf"那么当你输入单独一行laldf时"shell认为输入结束,但...
1.对于表中行与行存在父子关系时,可以通过connect by查询方式,查询行与行之间的父子关系select lpad(‘-‘,(level-1),‘-‘)|| empno as tempno,ename,mgr,level,decode(level,1,1) as root,decode(connect_by_isleaf,1,1) as leafnodefrom emp
start with empno=7566
connect by (prior empno) = mgr
orderbylevel;除了level伪列外,connect_by_isleaf也是伪列,1表示没有子记录,0则相反2.当需要把表中某一属性按照父子关系拼接...
问题描述:在WINDOWS SERVER 2012下面安装的Oracle,字符集为 SIMPLIFIED CHINESE_CHINA.
ZHS16GBK,用PL/SQL登陆数据库,发现中文变乱码。如何解决?===》网上方法:1、在32位操作系统下 修改 HKEY_LOCAL_MACHINE\SOFTWARE\Oracle\KEY_OraClient11g_home1 下的
NLS_LANG值为 AMERICAN_AMERICA.UTF8HKEY_LOCAL_MACHINE\SOFTWARE\Oracle\KEY_OraClient11g_home1 下的 NLS_LANG值为
AMERICAN_AMERICA.UTF8 2、在64位操作系统下 修...