oracle概述与总结2

来源:互联网 发布:js开发桌面应用程序 编辑:程序博客网 时间:2024/05/22 04:29

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;

 

原创粉丝点击