zoukankan      html  css  js  c++  java
  • 基本sql语句与oracle函数

    一,基本操作语句 select * from emp where comm is not null; select * from emp where not (sal>1500 and comm is not null); select * from emp where sal between 1500 and 3000; //日期要加单引号 select * from emp where hiredate between '1-1月 -81' and '31-12月 -81'; 在Oracle中区分大小写 //in用在数字范围上 select * from emp where sal in( 1300,1400,1500); //in也能用在字符串集合中 select * from emp ename in('SMITH','ALLEN','KING'); select * from emp where ename like '_M%'; select * from emp where deptno=10 order by sal desc,hiredate asc; 二,ORACLE数据库函数 字符函数:接受字符输入并且返回字符或数值 数值函数:接受数值输入并返回数值 日期函数:对日期型数据进行操作 转换函数:从一种数据类型转换为另一种数据类型 通用函数:NVL函数,DECODE函数 2.1 字符函数 2.1.1将小写字母变为大写字母 select * from emp where ename=upper('smith'); 2.1.2将一个字符串变为小写字母表示 select * from emp where ename=lower('SMITH'); 2.1.3将单词第一个字母大写 select * from emp where ename=initcap('smith'); select initcap('smith') from dual; select initcap(ename) from dual; 2.1.4字符串除了可以使用“||”连接之外,还可以使用concat()函数进行连接操作 select concat('hello','world') from dual; 2.1.5字符串操作 字符串截取:substr() 字符串长度:length() 内容替换:replace() select substr('hello',1,3) from dual; select length('hello') from dual; select replace('hello','l','x') from dual; Oracle中substr()函数的截取,从0或从1开始效果是一样的 oracle的substr()函数可以倒着截取数据 select ename,substr(ename,-3,3) from emp; 2.2数值函数 2.2.1四舍五入 select round(18.63) from dual; //四舍五入保留两位小数 select round(79.635,2) from dual; //负数位则表示对整数四舍五入 select round(7986.356,-2) from dual; 2.2.2截取数字不进行四舍五入 trunc()与round()不同的是,在trunc()操作中,不会保留任何的小数,而且小数点也不会执行四舍五入的操作。 select trunc(78.65) from dual; select trunc(79.865,2) from dual; select trunc(789.654,-2) from dual; 2.2.3取余 select mod(10,3) from dual; 3.3日期函数 日期能进行加减操作 3.3.1当前日期 select sysdate from dual; //求出星期 select empno,ename,round((sysdate-hiredate)/7) from emp; MONTHS_BETWEEN():求出给定日期范围的月数 ADD_MONTHS():在指定日期上加上指定的月数,求出之后的日期 NEXT_DAY():下一个的今天是哪个日期 LAST_DAY():求出给定日期的最后一天日期 select empno,ename,months_between(sysdate,hiredate) from emp; select add_months(sysdate,4) from dual; select next_day(sysdate,'星期一') from dual; select last_day(sysdate) from dual; 4.1转换函数 TO_CHAR:转换成字符串 TO_NUMBER:转换成数字 TO_DATE:转换成日期 4.1.1 TO_CHAR to_char()可以用于数字和日期 select empno,ename,to_char(hiredate,'yyyy') year,to_char(hiredate,'mm') month,to_char(hiredate,'dd') day from emp; select empno,ename,to_char(hiredate,'yyyy-mm-dd') from emp; //在yyyy-mm-dd中加上fm去掉前导0 select empno,ename,to_char(hiredate,'fmyyyy-mm-dd') from emp; //在此'999,999'表示的是格式,每个9表示一位数字 select empno,ename,to_char(sal,'999,999') from emp; //以美元的形式显示钱数 select empno,ename,to_char(sal,'$999,999') from emp; //以本地的形式显示钱数 select empno,ename,to_char(sal,'l999,999') from emp; 4.2 TO_NUMBER select to_number('123')+to_number('123') from dual; 4.3 TO_DATE select to_date('2009-02-16','yyyy-mm-dd') from dual; 5.1 通用函数 5.1.1 NVL函数 将一个指定的null值变为指定的内容 select empno,ename,nvl(comm,0),(sal+nvl(comm,0))*12 income from emp; 5.1.2 DECODE函数 类似于IF...ELSE IF...ELSE语句 select decode(1,1,'内容是1',2,'内容是2',3,'内容是3') from dual; 如果
  • 相关阅读:
    SVN自动更新测试服务器工作副本(C#写winform程序实现)
    两台服务器上SQL Server数据库数据互操作示例
    ASP.NET根据URL生成网页缩略图示例程序(C#语言)
    Flutter Widget API
    BPM、BPMN、BPMN2.0概念介绍
    H5多图上传调研
    lIUNX如何加载U盘,光盘
    如何解决exchange2003被中继的问题?(网上转载)
    window无法安装服务
    如何在WORD里面插入不同的页眉和页脚
  • 原文地址:https://www.cnblogs.com/jinzhengquan/p/1949387.html
Copyright © 2011-2022 走看看