Oracle初识笔记(二)
来源:互联网 发布:mac os 官方镜像 编辑:程序博客网 时间:2024/05/21 09:27
初识Oracle数据库,学习中的一些笔记及所遇问题。
约束
适用所有:查看约束: desc user_constraints;
禁用/启用约束:disable/enable constraint xxx;
删除约束:drop constraint xxx;
1. 非空约束
添加约束:创建时在字段的数据类型后加not null,或者alter table xxx modify 字段 数据类型 not null;
去除非空约束:alter table xxx modify 字段 数据类型 null
主键约束(非空唯一)
添加约束:alter table xxx add constraint 约束名 primary key (字段..);
删除约束:drop constraint xxx外键约束
唯一约束
添加约束:create table xxx (字段名,数字…) constraint xxx unique(字段名),或者alter table xxx add constraint xxx unique (字段名);
删除约束:drop constraint xxx检查约束
添加约束:创建表时在相应字段后添加check(约束条件),或者alter table xxx add constraint xxx check (条件);
删除约束:drop constraint xxx
函数
四舍五入函数:round(n[,m]),
m省略:0;m>0:小数点后m位四舍五入;m>0:小数点前m位四舍五入。
eg:round(23.4):23;round(23.45,1):23.5;round(23.45,-1):20取整函数:ceil(n):最大值;floor(n):最小值;
eg:ceil(23.45):24;floor(23.45):23截断函数:trunc(number,n),截取到小数点后n位
eg:trunc(168.888,1):168.8取绝对值函数:ABS(n)
- 取余函数:mod(n,m),对n/m取余,任一为0返回null
求幂函数:power(n,m),求n的m次幂
eg:power(2,3):8;power(0,2):null平方根函数:sqrt(n),求n的平方根
- 三角函数:sin(n),asin(n),cos(n),acos(n),tan(n),atan(n)
字符大小写转换函数:upper(char):将字符串char的大写字符转换为小写;lower(char):小写转换为大写;initcap(char):首字母转换函数
eg:upper(‘abDe’):ABDE;lower(‘ADe’):ade;initcap(‘asd’):Asd获取子字符串函数:substring(char,n[,m]),从第n位开始,截取m位,
m省略:从第n为开始截取到最后;n<0:从倒数第n位开始截取m位
eg:substring(‘abcde’,2,3):bcd;substring(‘abcde’,2):bcde;subtring(‘abcde’,-2,1):e获取字符串长度函数:length(char)
字符串连接函数:concat(char1,char2)=char1 || char2
eg:concat(‘ab’,’cd’)=’ab’ || ‘cd’:abcd去除子串函数:trim(leading|trailing|both c1 from char):从char中删除字符左边|后边|两边的c1(默认为both),只有一个参数时,表示删除左右两端空格;ltrim(char):删除左端空格;rtrim(char):删除有段空格
eg:trim(leading ‘a’ from ’ abcdaa ‘): bcdaa ;trim(trailing ‘a’ from ’ abcdaa ‘): abcd ;trim(both ‘a’ from ’ abcdaa ‘): bcd ;trim(’ abcdaa ‘):abcdaa;ltrim(’ abcdaa ‘):abcdaa ;rtrim(’ abcdaa ‘): abcdaa;替换函数:replace(原字符串char,需替换的字符串char1[,用来替换的字符串char2]):char2省略则去除char1;
eg:replace(‘aabbcc’,’bb’,’dd’):aaddcc;replace(‘aabbcc’,’bb’):aacc系统时间函数:sysdate:获取系统当前时间,格式:DD-MON-RR 10-7月-17
日期操作函数:
add_month(date,i):返回在指定日期上添加的月份,i可以为任何整数;
next_day(date,char):char为星期几,返回的是date的下一个星期几是什么日期;
eg:在7月10日,周一:next_day(sysdate,’星期二’):11-7月-17
last_day(date):返回date所在月份的最后一天;
months_between(date1,date2):表示date1月date2之间相隔的月份数;
extract(date from datetime):返回datetime中的部分:
eg:extract(month from sysdate):07;日期转换为字符串函数:to_char(date,fmt,params):date:日期,fmt:格式,params:编码,一般省略;常用格式: 年:yy或yyyy或year;月:mm或month;日:dd或day;时:hh24或hh12;分:mi;秒:ss
eg:to_char(sysdate,’yyyy-mm-dd hh24:mi:ss):2017-07-31 10:54:50字符转换为日期函数:to_date(char,fmt,params),fmt为字符串char的日期格式,转换的日期结果为默认系统时间格式
eg:to_date(‘2017-07-31 10:56:50’,’yyyy-mm-dd hh24:mi:ss’):31-JUL-17数字转换为字符串函数:to_char(number,fmt):关于fmt:
9:显示数字并且忽略前面的0;
0:显示数字,位数不足用0补齐;
.或D:显示小数点;
,或G:显示千位符;
美元符:显示美元符号;
L:显示本地货币符号;
MI:在数的右边显示减号;
PR:把负数用尖括号扩起来;
S:加正负号(前后均可);
eg:to_char(12345.789,’美元符99,999.999’):$12,345.678字符转换为数字函数:to_number(char,fmt)
eg:to_number(‘美元符1,000’,’美元符9999’):1000cast(number as real):去除小数点后的无效数字0
eg:cast(25.300000 as real):25.3略空函数:nvl(x1,x2):当x1为空时返回x2,否则返回x1,x1可以数字,字符,日期类型的函数,但x2必须与x1数据类型一致
eg:数字类型:nvl(number,0);字符类型:nvl(to_char(number),0);日期类型:nvl(date,’31-DEC-99’)- NVL2(x1,x2,x3):对nvl函数的扩充,若x1不为空,返回x2,若x1为空则返回x3
DECODE函数:逻辑判断函数
eg:decode(job,’普通员工’,sal*1.15,’部门经理’,sal*1.20,’总经理’,sal*1.25):普通员工薪水*1.15,部门经理薪水*1.20,总经理薪水*1.25case when函数
- Oracle初识笔记(二)
- 初识H5(笔记二)
- Oracle初识笔记(一)
- Oracle初识笔记(三)
- struts2学习笔记(二) 初识Struts2
- sqlalchemy笔记(二)初识sqlalchemy
- struts2学习笔记(二) 初识Struts2
- 【图文笔记】初识uGUI(二)
- Flume学习笔记之初识(二)
- Oracle笔记(二)
- capwap学习笔记——初识capwap(二)
- 黑马程序员(学习笔记二)初识java特点
- capwap学习笔记——初识capwap(二)
- capwap学习笔记——初识capwap(二)
- 嵌入式学习笔记(二)——初识驱动开发
- capwap学习笔记——初识capwap(二)
- Java Servlet学习笔记(二)初识Filter
- struts2 学习笔记之二(初识servlet)
- 数字游戏
- String,StringBuffer和StringBuilder
- Android多线程之HandlerThread
- DoKuKIWI Windows安装说明
- How to operate/manage resources to meet certain objectives?
- Oracle初识笔记(二)
- js深入之继承
- 树链剖分模板题-SPOJ QTREEQuery on a tree
- Java中的八种基本数据类型所占字节的求法
- 解决angularjs图片加载失败
- Java中接口(interface)与抽象类(abstract class)的区别
- JavaScript浮点数及运算精度问题
- Red and Black ——DFS
- 完全背包(基础)