• 三:oracle练习


    https://www.cnblogs.com/wishyouhappy/p/3700683.html
    1:基本用法
    创建表,插入数据,更新数据,删除数据,删除表,修改表名,表数据复制,复制表结构,
    复制表结构和数据,复制指定字段,条件查询
    //条件查询 case函数
      select SID,sname, (case ssex when '男' then 0 when '女' then 1 end) from student;
    2:数学函数
      abs(),取整函数(大):ceil(),取整函数(小):floor(),
    取整函数(截取):
    trunc(),
    四舍五入:round(),
    取平方:Power(m,n)
    取平方根:SQRT(),
    取随机数:dbms_random(minvalue,maxvalue)    select dbms_random.value from SC;
    取符号:Sign()
    取集合的最大值:greatest(value)
    取集合的最小值:least(value)
    处理Null值:nvl(空值,代替值) 处理Null值:nvl(空值,代替值)
    
    3:rownum相关
    (1)--rownum小于某个数时可以直接作为查询条件(注意oracle不支持select top)
    select * from student where rownum <3;
    (2)查询rownum大于某个数值,需要使用子查询,并且rownum需要有别名
    select * from(select rownum rn ,id,name from student) where rn>2;
    (3)区间查询
    select * from (select rownum rn, student.* from student) where rn >3 and rn<6;
    (5)	排序+前n条
     select * from (select rownum num,t.* from 
    (
       select * from SC order by score 
      ) t
     ) p where p.num >3 and p.num<6;
    select * from (select rownum rn, t.* from ( select d.* from DJDRIVER d order by DJDRIVER_DRIVERTIMES)t )p where p.rn<9 and p.rn>6;
    
    4:分页查询
    (1)select p.* from 
      (select rownum num,d.* from   (select * from student order by student.SID) d) p
     where p.num > 10 and p.num < 20
    
    5:时间处理
    (1)select to_char(sage,'yyyy-mm-dd hh24:mi:ss') birthday,to_char(sage,'yyyy') year from student
    select to_date('2009-07-04 05:02:01','yyyy-mm-dd hh24:mi:ss')currenttime,
    to_date 字符显示为日期的格式,date类型
    
    (2)months_between  
     Select months_between(to_date('03-31-2014','MM-DD-YYYY'),to_date('12-31-2013','MM-DD-YYYY')) "MONTHS"
     FROM DUAL;   
    6:next_day
    select sysdate today, next_day(sysdate,6) nextweek from dual;
    
    7: 时间区间
    //已经格式化过的时间不能再次格式化
    select sid, sage from student where sage  between 
    to_date('1990-02-01 00:00:00','yyyy-mm-dd hh24:mi:ss')  and 
    to_date('2012-05-01 00:00:00','yyyy-mm-dd hh24:mi:ss');
    
    8:interval 间隔
    to_char(sysdate - interval '7' year,'yyyy-mm-dd hh24:mi:ss') intervalyear,   
    当前时间的年份减去7天
    
    9:add_months
    10:extract
    
    6:字符函数
    --字符串截取 :substr('abcdefg',1,5)
    --查找子串 : instr('abcdefg','bc') instr
    ----连接   'Hello'||'World' concat
    --去前后空格 trim('  wish  ') trim,  
     trim(leading 'w' from 'wish') deleteprefix,    --去前缀
     trim(trailing 'h' from 'wish') deletetrailing,    --去后缀
    --ascii(转换为对应的十进制数)  ascii('a') A2,    
    --chr(十进制转对应字符)      chr(65) C1,  chr(97) C2,
    --length         length('abcdefg') len,
    --大小写变换     initcap('wish')initcap,  
    --替换   replace('wish1','1','youhappy') replace,
    --转换  对应一位(前面的位数大于等于后面的位数 translate('wish1','1','y')translate,
     --连接  concat('11','22') concat  
    
    7:to_number
    --to_number(expr)
    --to_number(expr,format)
    --to_number(expr,format,'nls-param')
    
    8:聚合函数
       //上一章节
    

      

  • 相关阅读:
    团队作业
    第四次作业
    第三次作业
    从电梯问题,看c和c++之间的区别(有点懂了)错觉错觉
    团队作业2
    游戏方案
    电梯调度程序4
    电梯调度程序3
    电梯调度程序2
    电梯调度程序1
  • 原文地址:https://www.cnblogs.com/love-life-insist/p/10543044.html
Copyright © 2020-2023  润新知