1字符函数

length  字符长度

lengthb 字节长度

lower 变为小写

upper 变为大写

initcap 首字母大写

select Lower('xun Ying') 小写,Upper('xun Ying') 大写,  initcap('xun Ying') 首字母大写 from dual

lpad 左填充  rpad 右填充

trim 去掉前后指定的字符

replace

instr 在母串中查找子串,找到返回下标(从1开始),否则返回0

1 select lpad('abcd',10,'*') 左,rpad('abcd',10,'*') 右
   from dual;

2 select trim('H' from 'Hello WorldH') from dual;

3 select replace('Hello World','l','*') from dual;

4 select instr('Hello World','ll')  from dual;

2 数字函数

ROUND(x,d)

对x进行四舍五入,d来控制它的位数

ROUND(45.926, 2) 45.93

ROUND(45.926, 1) 45.9

ROUND(45.926, 0) 46

ROUND(45.926, -1) 50

ROUND(45.926, -2) 0

TRUNC (x,d)

将数字截尾取整

TRUNC(45.926, -1) 40

TRUNC(45.926, 1)  45.9

Mod(A,B)

A%B

3 通用函数

参数可以是任意数据类型

1 NVL过滤空值的函数 nvl(comm,0)

2 nvl2(a,b,c) 当a=null时,返回c,否则返回b
3 nullif(a,b) 当a=b时,返回null,否则返回a

4 日期函数

日期的运算

1)日期加减一个数,此数指的是天;两个日期相加没有意义

2)日期相互减后的结果是相差的天数

  可以通过加减来 近似的算出工龄

        select sysdate from dual  10-11月-14
select sysdate-1 昨天,sysdate 今天,sysdate+1 明天 from dual
select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') from dual
select to_char(systimestamp,'yyyy-mm-dd hh24:mi:ss*ff') from dual;
select (sysdate-hiredate)/30 一,
MONTHS_BETWEEN(sysdate,hiredate) 二 from emp;

5 条件表达式

1 CASE表达式

SQL99的语法,类似BASIC

语法:

case

column when exp then return_value
when exp then return_value
ELSE last_value

end

2 DECODE函数:

oracle自己的语法,类似java

语法:

DECODE(exp|column,search1,result1,....)

如:根据职位涨工资,总裁+1000,经理 800,其他 400
    select ename,job,sal 涨前薪水,
case job when 'PRESIDENT' then sal+1000
when 'MANAGER' then sal+800
 else sal+400
 end 涨后薪水
from emp; select ename,job,sal 涨前薪水,
decode(job,'PRESIDENT',sal+1000,
'MANAGER', sal+800,
 sal+400) 涨后薪水
 from emp;

Oracle学习第二篇—单行函数的更多相关文章

  1. Oracle学习笔记_03_单行函数

    1.SQL函数: 单行函数.多行函数 单行函数:       操作数据对象       接受参数返回一个结果       只对一行进行变换       每行返回一个结果       可以转换数据类型  ...

  2. oracle学习 第二章 限制性查询和数据的排序 ——03

    这里.我们接着上一小节2.6留下的问题:假设要查询的字符串中含有"_"或"%".又该如何处理呢? 開始今天的学习. 2.7  怎样使用转义(escape)操作符 ...

  3. Java并发包下锁学习第二篇Java并发基础框架-队列同步器介绍

    Java并发包下锁学习第二篇队列同步器 还记得在第一篇文章中,讲到的locks包下的类结果图吗?如下图: ​ 从图中,我们可以看到AbstractQueuedSynchronizer这个类很重要(在本 ...

  4. Java泛型学习---第二篇

    泛型学习第一篇 1.泛型之擦拭法 泛型是一种类似"模板代码"的技术,不同语言的泛型实现方式不一定相同. Java语言的泛型实现方式是擦拭法(Type Erasure). 所谓擦拭法 ...

  5. 从.Net到Java学习第二篇——IDEA and start spring boot

    从.Net到Java学习第一篇——开篇 所谓工欲善其事,必先利其器,做java开发也一样,在比较了目前最流行的几个java IDE(eclipse,myeclipse.IDEA)之后,我果断选择IDE ...

  6. Oracle总结第二篇【视图、索引、事务、用户权限、批量操作】

    前言 在Oracle总结的第一篇中,我们已经总结了一些常用的SQL相关的知识点了-那么本篇主要总结关于Oralce视图.序列.事务的一些内容- 在数据库中,我们可以把各种的SQL语句分为四大类- (1 ...

  7. Golang学习-第二篇 搭建一个简单的Go Web服务器

    序言 由于本人一直从事Web服务器端的程序开发,所以在学习Golang也想从Web这里开始学起,如果对Golang还不太清楚怎么搭建环境的朋友们可以参考我的上一篇文章 Golang的简单介绍及Wind ...

  8. 【Java EE 学习 28 上】【oracle学习第二天】【子查询】【集合运算】【几种数据库对象】

    一.子查询 1.为什么要使用子查询:问题不能一步求解或者一个查询不能通过一步查询得到. 2.分类:单行子查询和多行子查询. 3.子查询的本质:一个查询中包含了另外一个或者多个查询. 4.使用子查询的规 ...

  9. Oracle学习第二天

    oracle数据库的常见数据类型oracle全部数据类型 有26种 char定长字符串类型 长度是固定不变的 例如:no char(10) 如果存入的值不足十个字符,其它位也被占用默认长度是1 最大长 ...

随机推荐

  1. linux下编译安装gcc5.1

    一.下载源代码:ftp://ftp.mirrorservice.org/sites/sourceware.org/pub/gcc/releases/gcc-5.1.0/gcc-5.1.0.tar.bz ...

  2. python 条件判断 if

    条件判断 if 格式-1 if 判断条件: 执行语句... num = 10 if num == 4: print("num 等于4") 执行: C:\Python27\pytho ...

  3. webapi 初识 net

    1.新建一个webapi 项目. 2.新建筛选器文件,用户在接口执行前后进行特性操作. public class MyActionWebApiAttribute : ActionFilterAttri ...

  4. [SPOJ7001]VLATTICE - Visible Lattice Points

    题目大意: $q(q\leq50)$组询问,对于给定的$n(n\leq10^7)$,求$\displaystyle\sum_{i=0}^n\sum_{j=0}^n\sum_{k=0}^n[\gcd(i ...

  5. [原创]Getting Started with Skywalking

    Getting Started with Skywalking Pre JDK 1.8+ Skywalking(v3.2.6) (All packages can be download from G ...

  6. windows service 调试

    在程序运行入口调试 #if DEBUG Debugger.Launch(); #endif

  7. Storyboards Tutorial 01

    Storyboarding 是在ios 5时候引进入的一个非常出色的特性.节省了为app创建user interfaces的时间.

  8. zabbix-agent安装报错

    最近接触了zabbix,觉得挺好用的,再一次安装agent的过程中,报了如下错误: [root@11005499 ~]# yum install zabbix-agent -y ... groupad ...

  9. many-to-one多对一属性说明

    通过many-to-one元素,可以定义一种常见的与另一个持久化类的关联. 这种关系模型是多对一关联(实际上是一个对象引用-译注):这个表的一个外键引用目标表的 主键字段. <many-to-o ...

  10. 根据DatabaseMetaData确定数据库类型

    根据DatabaseMetaData确定数据库类型 DataSource dataSource = dataSourceTransactionManager.getDataSource(); conn ...