ORACAL数据库学习


1、oracle数据库创造性的提出了表空间的概念。
2、order by 是根据最终的结果集进行排序的,所以放在group by(先分类)之后。
3、union(两个集合之间不重复的记录,重复的只保存一条,默认按照字母顺序排序);
   union all(将两个集合的结果进行合并,不会剔除重复的,也不进行排序)
   intersect(两个集合之间的交集)
   minus(只返回第一个集合中存在,第二个中不存在的记录)
以上四种运算的优先级相同,总是按照自左至右的顺序依次进行运算。
4、......for update能够实现手动的去修改列中的值。
5、oracle中常用的数据类型:字符型(character),数值型(number),日期型(date)和大对象型(LOB)。
6、字符型:
char(n):固定长度字符串,不足则自动补空格,超过n则报错。
varchar(n):可变长度的字符串类型,不足也不会空格填充,n代表的是字符串的最大长度,最大长度不大于4000。
varchar2(n):类似varchar(n),但是这个具有更多的向后兼容性。
7、lpad('1',4,'0')(0001)左补齐,rpad('1',4,'0')(1000)右补齐
lower()返回小写,upper()返回大写形式,
initcap('like'):Like函数将单词转换为首字符大写、其它字符小写的形式,注意:对于非单词的字符都被视为单词的分隔符,这些字符原样输出,其他所有单词的首字母都变为 大写,比如:
initcap('you 2 love'):You 2 Love。
8、substr('12345678',3,4);截取字符串3456。
9、instr(string,sub_string[,start_index][,times])返回子字符串在父字符串中出现的位置,string为父字符串,sub_string为子字符串;[]中的为可选参数,start_index为可选的参数,指定搜寻的起始位置,times为可选参数,表示第几次获得子字符串。
10、ltrim()函数用于删除字符串的左侧空格,rtrim同理;
11、trim()函数删除字符串两侧的空格;
12、concat('hello',' world')将字符串进行连接;
13、translate()类似翻译。
14、注意:1、对于字符型函数来说,如果传入的参数是一个空值,那么函数的返回值往往也是空值,如length('')为空;2、字符型函数将null作为参数时,往往返回值是null,而无关理论上的返回值是什么;3、即使字符型函数所处理的是一个变量,在内部处理时,都是针对参数的一个副本,而不会真正改变量的值。
15、数值型number[(precision[,scale])],其中precision代表该数值型的精度,除0之外的有效数,而scale则指定小数后的位数,且两个参数是可选的,scale为正则是小数点之后的位数,scale为负则是小数点之前的位数,scale为0时表示整数。
16、数值型函数:abs()绝对值;round(4.37,1):4.4四舍五入;ceil()函数返回大于等于数值型参数的最小整数,向上取整ceil(23.56):24;floor()与ceil相反,向下取整,返回小于等于参数值的最大整数,floor(23.45):23,floor(-23.45):-24;mod(被除数,除数)函数返回一个除法表达式的余数,取模操作mode(5,2):1。
17、sign()返回数字的正负性,大于0,返回1,小于0,返回-1,为0返回0;
18、sqrt()函数返回数字的平方根,该参数的不能小于0;
19、power(底数,指数)函数用于进行乘方运算;
20、trunc(原始值[,小数位数]),截取数字,截取部分数字,直接舍弃,trunc(3.789,2)返回3.78。
21、chr()将ASCII码转换成字符,chr(65)返回A。
22、to_char(原始值,格式)格式字符串,将字符串格式化。
23、add_months()函数,为当前的日期增加月数,如add_months(sysdate,1)返回当前时间的基础上再增加一个月。
24、last_day()函数返回特定日期所在月分的最后一天,如last_day(sysdate)返回当前月的最后一天。
25、months_between()函数返回两个日期所差的月数。
26、next_day()函数返回特定日期之后的一周之内的日期,如next_day(sysdate,1)返回当前日期之后的星期天(1代表一个星期的第一天)。
27、trunc()函数不仅可以截取数字,还可以截取日期,如trunc(日期,截取格式),trunc(sysdate,'DD'),返回截取到日,返回的还是期型。
28、current_date()返回当前会话时区的当前时间,sysdate返回服务器当前的时间。
29、extract()返回日期中的某个域,如extract(month from sysdate),返回当前日期的月份。
30、to_char(sysdate,'yyyy/mi/dd')返回格式化之后的年/分/天。
31、当列值为空时,count()函数并不进行计数,count(*)和count(1)得到的结果是一样的。
32、
增加一列:
alter table test add(NUM2,number(3,0));
修改列的名字:
alter table test rename column NUM2 to NAME;
修改列的类型:
alter table test modify name varchar(50);
删除一列:
alter table test drop column NAME;
33、nvl(表达式,新值/表达式),判断第一个表达式是否为空,如果为空则返回第二个表达式,否则返回第一个表达式的值,如nvl(sum(salary),0);
34、rownum()函数返回结果集的行号,一条记录是一行,然后依次增加。
35、cast(原数据 as 新数据类型)函数可以强制转换列或变量的数据类型,如 cast(t.NUM2 as number(3,0))。
36、按位与,bitand(数值1,数值2),如果数值参数不为整数,Oracal总是先将其转换为整数,如果两个运算为均为1,返回1,否则回0。
37、按位或,没有专门的函数,可以利用bitand()进行计算,如:bitor:x+y-bitand(x,y)。
38、按位异或,没有专门的函数,可以利用bitand()进行计算,bitxor(x,y):bitor(x,y)-bitand(x,y),或者bitxor(x,y):x+y-2*bitand(x,y)。
39、对于特殊字符的原意字符的获得,如escape'\'指定转义字符“\”,
where '10%' like '%\%' escape '\',判断为真,
where '10' like '%\%' escape '\',判断为假。
40、在ORACAL中,对空值的判断不能用“=”,而应该利用特殊判式is null。
41、exists,存在性判断,通常和in等价。
42、all、some、any集合判断,some 和any可以返回相同的搜寻结果,当使用“=”等肯定形式的,判断时,推荐使用some,而在使用“>”等形式判断时,推荐使用any,类似于英语环境下他们的使用方法。
注意:第九章的窗口分析函数没搞懂,后20分钟。
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值