1、+将两个数或表达式进行相加A=c+b-将两个数或表达式进行相减34-12*将两个数或表达式进行相乘12*34/除以一个数或表达式18*11NULL空值判断Where name is null;|字符串连接101-|tel_num=等于测试Select * from emp where name=王五;!= 或或=不等于测试where name != 王五;小于测试Where sal 小于等于测试= 5000;大于等于测试Not in测试某值是否在一个指定的结果集中Select name,addr from expertwhere local not in(北京,上海);ANY将一个值与一组值进
2、行比较,返回满足条件的结果。必须跟!=,select ename,sal from emp where sal= any(select sal from emp where deptno=10)SOME同ANY,必须跟!ALL将一个值与一组值比较,返回满足条件的所有列值。Select name,sal from empWhere sal all ( 500,800,1200);Not betweenA and B判断某个值是否界于两者之间。Select name,sal from emp Where sal between 500 and 1200;notexists判断某个列是否存在于一组值
3、中。select dname,deptno from dept where exists(select * from emp where =Anotlike bEscape char比较两个模式是否相似,当使用like 语句时Oracle不去访问索引。Select * from empWhere ename like TH%;Is not null 测试值是否为空。Select ename,deptno from empWhere comm. Is null or comm.=0;Not 对结果的否定。Where sal not(sal=1000;AND用于判断两个条件十分都满足。Select
4、 * from emp where Ename=SIMTH and salOR 用于判断两个条件中是否有一个满足。Ename=SIMTH or ename=SCOTT;UNION用于返回(组合)两个查询中所有唯一的行。Select ename from emp unionSelect ename from emp;UNION ALL用于返回(组合)两个查询中所有所有的行。INTERSECT用于返回两个查询中相同的行。Select ename from emp1 intersect select ename from emp2;MINUS用于返回两个查询中的不同的行。2、简单查询当我们可以用SQ
5、L*PLUS登录到SQL下后,我们可以用DESC 显示某表的结构,也可以用select 语句简单查询表中的一些列的内容。例:要查询T_person表中人员的姓名、出生日期及出生地,则:SQL select name,dob,natal_place from t_person;3、伪列及伪表Oracle系统为了实现完整的关系数据库功能,系统专门提供了一组称为伪列(Pseudocolumn)的数据库列,这些列不是在建立对象(如建表)时由我们完成的,而是在我们建立对象时由自动Oracle完成的。Oracle目前有以下的伪列: CURRVAL and NEXTVAL 使用序列号的保留字 LEVEL 查
6、询数据所对应的级 ROWID 记录的唯一标识 ROWNUM 限制查询结果集的数量有关伪列的详细解释和使用见相关章节。Oracle 还提供了一个DUAL 的伪表,该表主要目的是保证在使用SELECT 语句中语句的完整性而提供的,如:我们要查询当前的系统日期及时间,而系统的日期和时间并是放在一个指定的表里。所以在 from 语句后就没有表名给出。为了使用 from 后有个表名,我们就用DUAL代替。如:例1:查询Oracle系统日期及时间: select to_char( sysdate, hh24:mi:ss) from DUAL;TO_CHAR(SYSDATE,YY- 07:28:09例2:计
7、算一下 5000+5000* 的结果是多少,则: select 5000+5000* from DUAL;5000+5000* 5500三、 数据基本类型Oracle数据库的数据类型与其它的数据库系统相比,它的数据类型不多,Oracle在表示数据方面比其他数据库系统来说要省去许多关键字。Oracle只用NUMBER(m,n)就可以表示任何复杂的数字数据。其它如日期类型等也简单得多,只DATE就表示日期和时间。下面以列表形式给出Oracle8i版本以上系统数据类型的表示方法。数据类型说明Char定长字符,2000个字符Varchar(同Varchar2)可变字符,4000个字符Varchar2变
8、长字符,4000个字符Date固定长度(7字节)的日期型Number数字型,可存放实型和整型Long可变字符,2GB个字符Raw可变二进制数据,4000字节Long raw可变二进制数据,2GBMLSLABEL仅Trusted Oracle 用长度在25字节间Blob大二进制对象,4GBClob大字符串对象,4GBNclob多字节字符集的Clob,4GBBfile外部二进制文件,大小由OS决定 create table nchar_tst(name varchar2(10),addr varchar2(16),sal number(9,2);表已创建。四、 常用函数1、 单记录字符函数函 数
9、说 明 ASCII返回对应字符的十进制值 CHR给出十进制返回字符 CONCAT拼接两个字符串,与 | 相同 INITCAT将字符串的第一个字母变为大写 INSTR找出某个字符串的位置 INSTRB找出某个字符串的位置和字节数 LENGTH以字符给出字符串的长度 LENGTHB以字节给出字符串的长度 LOWER将字符串转换成小写 LPAD使用指定的字符在字符的左边填充 LTRIM在左边裁剪掉指定的字符 RPAD使用指定的字符在字符的右边填充 RTRIM在右边裁剪掉指定的字符 REPLACE执行字符串搜索和替换 SUBSTR取字符串的子串 SUBSTRB取字符串的子串(以字节) SOUNDEX返
10、回一个同音字符串 TRANSLATE TRIM裁剪掉前面或后面的字符串 UPPER将字符串变为大写 NVL以一个值来替换空值ASCII()是字符串。返回与指定的字符对应的十进制数。 select ascii(A) A,ascii(a) a,ascii(0) zero,ascii( ) space from dual; A a ZERO SPACE- - - -65 97 48 32赵) zhao,length() leng from dual; ZHAO LENG- - 54740 1CHR(NCHAR)给出整数,返回对应字符。 select chr(54740) zhao,chr(65) chr65 from dual;ZH C- -赵 A|( select (010-8801 8159)|转23 王五电话 from dual;王五电话-010-8801 8159转23INSTR(, )在一个字符串中搜索指定的字符,返回发现指定的字符的位置。C1: 被搜索的字符串C2: 希望搜索的字符串I: 搜索的开始位置,缺省是1J: 出现的位置,缺省是1。 SELECT INSTR (Oracle Training, ra, 1, 2) Instring FROM DUAL; Instring- 9LENGTH( )返回字符串 c 的长度。 l
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1