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. 本机开发Native Development:Invalid path for NDK (转)

    打开window菜单下的preference选项.选择Android,Native Development(本地开发) 选择你的NDK安装目录.但是,这个插件目前仅支持ndk的r4和r5版本,更高版本 ...

  2. python字符串加密与反解密

    在生产中会遇到很多情况是需要加密字符串的(如访问或存储密码)这些需求造就了需要字符串加密,以及反解密的问题,推荐两种方法来实现,下附代码: #!/usr/bin/env python3 # -*- c ...

  3. AI创投的冰与火之歌:泡沫、跟风、短板和有钱花不出去的沮丧【转】

    转自:http://36kr.com/p/5071386.html 国内的AI行业仍处于野蛮生长阶段.热钱不少,优质项目却不多.创业者拿钱难,投资者有钱却花不出去. 编者按:本文来自微信公众号“刺猬公 ...

  4. 倒计时器CountDownLatch与同步屏障CyclicBarrier

    CountDownLatch CountDownLatch是一个非常实用的多线程控制工具类,这个工具通常用来控制线程等待,它可以让某一个线程等待直到倒计时结束,再开始执行.在这里指CountDownL ...

  5. Android,一条线串联实心圆布局

    最近遇到一个简单的布局,不是listview的形式.就只是单纯的下图这种: 此界面布局代码: <?xml version="1.0" encoding="utf-8 ...

  6. HDU 5997 rausen loves cakes(启发式合并 + 树状数组统计答案)

    题目链接  rausen loves cakes 题意  给出一个序列和若干次修改和查询.修改为把序列中所有颜色为$x$的修改为$y$, 查询为询问当前$[x, y]$对应的区间中有多少连续颜色段. ...

  7. UVA - 11774 Doom's Day

    看样例猜结论hhhhhh,竟然蒙对了..(正确性待证明) #include<bits/stdc++.h> #define ll long long using namespace std; ...

  8. BUG_ON&&WARN_ON&BUILD_BUG_ON

    转载:http://wenx05124561.blog.163.com/blog/static/124000805201223112811490/ 一.BUG_ON Linux中BUG_ON,WARN ...

  9. WebStorm添加多个项目到当前工程目录

    File-> Settings -> Directories -> Add Content Root,选择你要加入的Project 点击OK -> Apply -> OK ...

  10. apache mina框架

    http://blog.csdn.net/ljx8928358/article/details/7759024