zoukankan      html  css  js  c++  java
  • oracle学习总结1

    1:解锁用户
    alter user 用户名 account unlock;

    2:获取系统时间、随机数
    select sysdate, sys_guid() from dual;

    3:起别名,使可读性更强,如果想保留字段原来模样,可以
    使用双引号括起来
    select ename,salary*12 from emp;
    select ename,salary*12 annuary_sal from emp;
    select ename,salary*12 as annuary_sal from emp;
    select ename,salary*12 "annuary sal" from emp;

    4:空值
    select ename,sal*12+comm from emp;如果算术表达式中有值为null,那么表达式的值就是null
    select ename,sal*12+nvl(comm,0) from emp;nvl()函数,如果有值就计算值,为null则替换为0

    5:连接符|| ,concat
    select ename||sal from emp;
    select concat(ename,sal) from emp;

    6:数据内部存在单引号',使用两个单引号代替一个单引号
    select 'i''m lilei!' from dual;

    7:distinct去除数据中重复值
    select distinct deptno from emp; --获取不重复的deptno的值
    select distinct deptno,job from emp; --当distinct修饰两个及以上字段时,表示修饰字段组合不重复


    8:条件查询where
    select ename,sal from emp where sal>5000; --查询薪水大于5000的员工
    select ename,sal from emp where sal<5000; --查询薪水小于5000的员工
    select ename,sal from emp where sal<>5000; --查询薪水不等于5000的员工
    select ename,sal from emp where sal>=2000 and sal<=7000; --查询薪水大于等于2000,并且小于等于7000的员工
    select ename,sal from emp where sal between 2000 and 7000;--同上
    select ename,sal from emp where comm is null;--查询奖金为null的员工
    select ename,sal from emp where comm is not null;--查询奖金不为null的员工
    注意:null在where后面作为条件时用is ,但是update后面修改值时用=


    9:in 查询一个字段对应的多个值
    select ename,deptno from emp where deptno in(10,20); --查询部门编号为10或者20的员工
    select ename,deptno from emp where deptno not in(10,20); --查询部门编号不为10或者20的员工


    10:and 同时,or 或者,not 取反
    select ename ,deptno from emp where deptno=10 and sal>5000;--查询部门编号为10,同时薪水大于5000的员工
    select ename ,deptno from emp where deptno=10 or sal>5000; --查询部门编号为10 或者薪水大于5000的员工


    11:模糊查询like %匹配多个字符 _匹配一个字符
    select ename from emp where ename like '%a%'; --查询名字中包含a的员工
    select ename from emp where ename like '_a&'; --查询名字第二个字符为a的员工
    select ename from emp where ename like '%\%%'; --如果名字中包括%,那么就需要转义,默认是\,也可以指定,如下
    select ename from emp where ename like '%$%%' escape '$' --指定$符号为转义字符


    12:排序 order by asc desc
    select * from dept order by deptno; --按照deptno排序,默认是升序(asc)
    等效于 select * from dept order by deptno asc;

    select * from dept where deptno=10 order by dname;--和where组合使用,先筛选出deptno为10的部门,在按照部门名称排序。

    select * from dept where deptno=10 order by dname asc,loc desc;--先按照部门名称升序排序,如果部门名称中有相同的,在按照
    地址降序排列。

    13:常用的sql函数

    select lower(ename) from emp; --lower():转换为小写

    select upper(ename) from emp; --upper():转换为大写

    select substr(ename,1,3) from emp;--从ename字段1开始,截取长度为3的子串 substr():获取子串

    select chr(97) from dual; --chr():将数字转换为对应的字符

    select ascii('a') from dual; --ascii():将字符转换为ascii码

    select round(2.35,1) from dual;--精确到小数点后1位 pound():四舍五入
    select round(2.35) from dual;--默认精确到整数

    select to_char(sal,'$999,999.9999') from emp; --将数字转换为字符串,以$符开头,999的格式,L代表本地化货币

    select to_char(sysdate,'yyyy-MM-dd HH:mm:ss') from dual; --将日期格式转换为字符串 12小时制
    select to_char(sysdate,'yyyy-MM-dd HH24:mm:ss') from dual; -- 24小时制

  • 相关阅读:
    Linux 禁用笔记本触摸板
    Linux 下安装android
    关于JAVA多线程的那些事__初心者
    ADT下开发环境的配置--个人配置啦 Eclipse Color Themes
    关于权限系统的一些思考
    关于线程安全的单例模式的讨论
    说下Fedora下把SpiderMonkey放入Eclipse内编译的过程
    基于Eclipse构建Hadoop源码阅读环境
    Hadoop生态上几个技术的关系与区别:hive、pig、hbase 关系与区别
    CentOS6.5安装配置
  • 原文地址:https://www.cnblogs.com/warrior4236/p/5373047.html
Copyright © 2011-2022 走看看