oracle概述与总结2

    技术2022-05-20  31

    Oracle概述与总结

    查询语句:

    1表查询某个表中的所有数据.

    SQL> select * from emp;

    2、查询某个表中的特殊的列

    SQL> select hiredate from emp;

    3、  采用别名查询

      SQL> select hiredate as 日期 from emp;

    备注 as也可以省略

    SQL>  select e.hiredate from emp  e; //表的别名

    Oracle的常用函数

    1、日期有关的函数

       to_char(转换的列名,格式);//把一个日期类型安照指定的格式转换成字符串.

    SQL> select to_char(hiredate,'yyyy-mm-dd hh24-mi-ss') from emp;

       to_data(转换的字符,转换的格式)//把一个字符串按照指定的格式转换成指定格式的日期类型。

    2、  字符串相关函数

    1、字符串连接  ||   concat(‘’,’’)

    SQL> select 'a' || 'b' from dual;    //oracle 特有的符号操作

    3、  子串函数 substr(‘’,开始位置,字符长度)  instr(‘’,’出现的字符’)

    SQL> select substr('abcdef',1) from dual;

    备注:开始位置从1开始,如果有两个参数(substr(‘’,2))那么代表的意思是从位置2开始到字符串的结尾的字符串

     SQL> select substr('abcdef',1,3) from dual;

    4、  大小写转换 upper(‘’)转换成大写,lower(‘’)转换成小写

    SQL> select upper('abc') from dual;

    SQL> select lower('ABC') from dual;

    5、随机字符串的函数

              dbms_random.string('a',6) //第一个参数有如下几个,第二参数代表产生的字符串的长度。

              u 大写字母

              l小写字母

              a大小写字母

              x大写字母和数字

              p任意字符

      举例如下:

    SQL> select dbms_random.string('u',5) from dual;  //随机产生一个长度为5并且字符大写的字符串

    SQL> /    //随机产生一个长度为5并且字符大写的字符串  注意观察下面的结果

    DBMS_RANDOM.STRING('U',5)

       SQL> /   //随机产生一个长度为5并且字符大写的字符串   注意观察下面的结果 每次都是随机产生

    DBMS_RANDOM.STRING('U',5)

     

    备注重点理解u,l,a,x,p的含义。

    SQL> select dbms_random.string('l',5) from dual; //随机产生一个长度为5并且字符小写的字符串

    SQL> select dbms_random.string('a',5) from dual; //随机产生一个长度为5并且字符大小写混合的字符串

    SQL> select dbms_random.string('x',5) from dual; //随机产生一个长度为5并且字符与数字组合的字符串

     

    SQL> select dbms_random.string('x',5) from dual;

    SQL> DBMS_RANDOM.STRING('X',5)

    SQL> select dbms_random.string('p',5) from dual; //随机产生一个长度为5任意的字符串

    SQL> select dbms_random.string('p',5) from dual;

    SQL> select * from student; //查询所有数据

    SQL> select * from student order by name;  //注意观察

    SQL> select * from student order by nlssort(name,'NLS_SORT=SCHINESE_PINYIN_M');//按名笔画排序

    SQL> select * from student order by nlssort(name,'NLS_SORT=SCHINESE_STROKE_M');//注意理解

    SQL> select * from student order by nlssort(name,'NLS_SORT=SCHINESE_RADICAL_M');//注意理解

    6null

    l       查询NULL值时所用语法  is null  is not null

    l       NULL值参与运算总返回NULL

    l       NULL值参与排序  null值最大

    l       NVL函数  

    l       DECODE函数

    A、 查询Null

    SQL> select * from emp where comm is null;//查询没有奖金的员工的用户

    SQL> select * from emp where comm is not null;//查询有奖金的员工的用户

    B、 null值参与运算

    SQL>  select  ename,(sal+comm) from emp;

    备注:null值参与运算返回的是空值

    C、  null值参与排序

    SQL> select ename,comm from emp order by comm;

    D、 nvl函数 nvl(列名,0)把列名为空或者’’的值转换成0 如果不为空是其本身值

    SQL> select ename,nvl(comm,0) from emp;

    注意:观察下面

    SQL> select nvl('',0) from dual;

    SQL> select nvl(null,0) from dual;

    E、  DECODE函数

    基本操作

    1//执行数据的插入操作

    SQL> insert into emp values(2222,'test','test','7369',to_date('1992-12-12','yyyy-mm-dd'),100,100,20); 1 row inserted

    2//执行数据插入成功后 通过commit手动提交

    SQL> commit;

    Commit complete

    3//通过commit手动提交后,然后事务回滚

    SQL> rollback;

    Rollback complete

    4//执行表的查询操作..注意观察插入的数据依然存在

    SQL> select * from emp;

     


    最新回复(0)