您的位置:首页 > 数据库 > Oracle

Oracle速查语法:数据类型,函数,异常类型,常用命令

2016-11-04 22:54 453 查看
+目录

数据类型

函数

异常类型

常用命令

.

数据类型

教程标题主要内容
VARCHAR2(size)可变长度的字符串,其最大长度为size个字节;size的最大值是4000,而最小值是1;你必须指定一个VARCHAR2的size;
NVARCHAR2(size)可变长度的字符串,依据所选的国家字符集,其最大长度为size个字符或字节;size的最大值取决于储存每个字符所需的字节数,其上限为4000;你必须指定一个NVARCHAR2的size;
NUMBER(p,s)精度为p并且数值范围为s的数值;精度p的范围从1到38;数值范围s的范围是从-84到127;
NUMBER(5,2)表示整数部分最大3位,小数部分为2位;
NUMBER(5,-2)表示数的整数部分最大为7其中对整数的倒数2位为0,前面的取整。
NUMBER表示使用默认值,即等同于NUMBER(5);
LONG可变长度的字符数据,其长度可达2G个字节;
DATE有效日期范围从公元前4712年1月1日到公元后4712年12月31日
RAW(size)长度为size字节的原始二进制数据,size的最大值为2000字节;你必须为RAW指定一个size;
LONG RAW可变长度的原始二进制数据,其最长可达2G字节;
CHAR(size)固定长度的字符数据,其长度为size个字节;size的最大值是2000字节,而最小值和默认值是1;
NCHAR(size)也是固定长度。根据Unicode标准定义
CLOB一个字符大型对象,可容纳单字节的字符;不支持宽度不等的字符集;最大为4G字节
NCLOB一个字符大型对象,可容纳单字节的字符;不支持宽度不等的字符集;最大为4G字节;储存国家字符集
BLOB一个二进制大型对象;最大4G字节
BFILE包含一个大型二进制文件的定位器,其储存在数据库的外面;使得可以以字符流I/O访问存在数据库服务器上的外部LOB;最大大小为4G字节.
.

字符函数

名称描述
CONCAT(字符串1,字符串2)将字符串1和字符串2连接成一个新的字符串 示例: select CONCAT(job,ename) from emp
LPAD(字段,总的大小,添充字符)左填充即向右对齐 示例: select empno,lpad(sal,10,’*’) from emp
RPAD(字段,总的大小,添充字符)右填充即向左对齐 示例: select empno,rpad(sal,10) from emp
LOWER(字符串)将字符串全部变成小写;
UPPER(字符串)将字符串全部变成大写;
INITCAP(字符串)将字符串变成第一个字母大写,其余都变成小写;
LENGTH(字符串)求出字符串的长度;
SUBSTR(字符串,开始位置,长度)从字符串中取子串; 示例: select substr(ename,2,3) from emp;–从ename的第2位开始取3位
INSTR(字符串,字符)查看字符是否在字符串中存在;不存在返回0;存在则返回字符所在的的位置;如果有两个以上的字符则返回第一个的位置. 示例:select instr(ename,’S’) from emp;
TRIM(字符 FROM 字符串)去掉字符串首尾的字符; 示例: select trim(‘S’ from ename) from emp;
TO_CHAR()将不是其他类型转成字符类型;对于日期型可以控制其格式:TO_CHAR(日期,’格式’);其中格式有: ‘YYYY’ –以4为显示年; ‘YEAR’ –以标准格式显示年; ‘MM’ ; ‘MON’ ; ‘DD’ ; ‘DAY’; ‘HH’ ; ‘MI’ ;’SS’
REPLACE(字符串,字符串1,字符串2)将字符串中的字符1替换成字符2; 示例: select replace(ename,’SC’,’SS’) from emp;
TRANSLATE(字符串,字符串1,字符串2)替换多的字符; 示例: select translate(ename,’SH’,’AB’) from emp; –表示将ename中的’S’换成’A’,’H’换成’B’;
ASCII(char)求字符的ascii码
NLSSORT(字符串)对字符串排序.

数学函数

名称描述
ABS(数字)一个数的绝对值
CEIL(数字)向上取整;不论小数后的书为多少都要向前进位; CEIL(123.01)=124; CEIL(-123.99)=-123;
FLOOR(数字)向下取整;不论小数后的书为多少都删除; floor(123.99)=123; floor(-123.01)=-124;
MOD(被除数,除数)取余数; MOD(20,3)=2
ROUND(数字,从第几为开始取)四舍五入; ROUND(123.5,0)=124;ROUND(-123.5,0)=-124; ROUND(123.5,-2)=100; ROUND(-123.5,-2)=-100;
SIGN(数字)判断是正数还是负数;正数返回1,负数返回-1,0返回0;
SQRT(数字)对数字开方;
POWER(m,n)求m的n次方;
TRUNC(数字,从第几位开始)切数字;TRUNC(123.99,1)=123.9TRUNC(-123.99,1)=-123.9 TRUNC(123.99,-1)=120 TRUNC(-123.99,-1)=-120 TRUNC(123.99)=123
GREATEST(数字列表)找出数字列表中最大的数; 示例: select greatest(100,200,-100) from dual; –结果为200
LEAST(数字列表)找出数字列表中最小的数;
SIN(n)求n的正旋
COS(n)求n的余旋
TAN(n)求n的正切
ACos(n)求n的反正切
ATAN(n)求n的反正切
exp(n)求n的指数
LN(n)求n的自然对数,n必须大于0
LOG(m,n)求n以m为底的对数,m和n为正数,且m不能为0

日期函数

名称描述
ADD_MONTHS(日期,数字)在以有的日期上加一定的月份; 示例: select add_months(hiredate,20),hiredate from emp;
LAST_DAY(日期)求出该日期的最后一天.
MONTHS_BETWEEN(日期1,日期2)求出两个月之间的天树(注意返回的天数为小数); 示例: select months_between(sysdate,hiredate) from emp;
NEW_TIME(时间,时区,’gmt’)按照时区设定时间.
NEXT_DAY(d,char)返回d指定的日期之后并满足char指定条件的第一个日期

其他函数

名称描述
VSIZE(类型)求出数据类型的大小;
NVL(字符串,替换字符)如果字符串为空则替换,否则不替换
.

命令

命令描述
DESC 表名查看表的信息.
SET SERVEROUT [ONOFF]
SET PAGESIZE <大小>设置浏览中没页的大小
SET LINESIZE <大小>设置浏览中每行的长度
SET AUTOPRINT [ONOFF]
SELECT SYSDATE FROM DUAL查看当前系统时间
ALTER SESSION SET nls_date_format=’格式’设置当前会话的日期格式 示例:ALTER SESSION SET nls_date_format=’dd-mon-yy hh24:mi:ss’
SELECT * FROM TAB查看当前用户下的所有表
SHOW USER显示当前用户
HELP TOPIC显示有那些命令
SAVE 将buf中的内容保存成一个文件
RUN 执行已经保存的文件;也可以写成@
GET 显示文件中的内容
LIST显示buf中的内容
ED用记事本打开buf,可以进行修改
DEL 行数删除buf中的单行
DEL 开始行 结束行删除buf中的多行
INPUT 字符串向buf中插入一行
APPEND 字符串将字符串追加到当前行
C/以前的字符串/替换的字符串修改buf中当前行的内容
CONNECT连接
DISCONNECT断开连接
QUIT退出sql*plus
EXP导出数据库(可以在DOS键入exp help=y 可以看到详细说明) 示例: exp scott/tiger full=y file=e:\a.dmp; –导出scott下的所有东西 exp scott/tiger tables=(emp,dept) file=e:\emp.dmp –导出scott下的 emp,dept表
IMP导入数据库(可以在DOS键入imp help=y 可以看到详细说明)
impscott/tiger tables=(emp,dept) file=e:\emp.dmp
.

异常类型

异常描述
CURSOR_ALREADY_OPEN试图”OPEN”一个已经打开的游标
DUP_VAL_ON_INDEX试图向有”UNIQUE”中插入重复的值
INVALID_CURSOR试图对以关闭的游标进行操作
INVALID_NUMBER在SQL语句中将字符转换成数字失败
LOGIN_DENIED使用无效用户登陆
NO_DATA_FOUND没有找到数据时
NOT_LOGIN_ON没有登陆Oracle就发出命令时
PROGRAM_ERRORPL/SQL存在诸如某个函数没有”RETURN”语句等内部问题
STORAGE_ERRORPL/SQL耗尽内存或内存严重不足
TIMEOUT_ON_RESOURCEOracle等待资源期间发生超时
TOO_MANY_ROWS“SELECT INTO” 返回多行时
VALUE_ERROR当出现赋值错误
ZERO_DIVIDE除数为零
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  oracle