Oracle学习第二篇—单行函数
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,'*') 右 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 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学习第二篇—单行函数的更多相关文章
- Oracle学习笔记_03_单行函数
1.SQL函数: 单行函数.多行函数 单行函数: 操作数据对象 接受参数返回一个结果 只对一行进行变换 每行返回一个结果 可以转换数据类型 ...
- oracle学习 第二章 限制性查询和数据的排序 ——03
这里.我们接着上一小节2.6留下的问题:假设要查询的字符串中含有"_"或"%".又该如何处理呢? 開始今天的学习. 2.7 怎样使用转义(escape)操作符 ...
- Java并发包下锁学习第二篇Java并发基础框架-队列同步器介绍
Java并发包下锁学习第二篇队列同步器 还记得在第一篇文章中,讲到的locks包下的类结果图吗?如下图: 从图中,我们可以看到AbstractQueuedSynchronizer这个类很重要(在本 ...
- Java泛型学习---第二篇
泛型学习第一篇 1.泛型之擦拭法 泛型是一种类似"模板代码"的技术,不同语言的泛型实现方式不一定相同. Java语言的泛型实现方式是擦拭法(Type Erasure). 所谓擦拭法 ...
- 从.Net到Java学习第二篇——IDEA and start spring boot
从.Net到Java学习第一篇——开篇 所谓工欲善其事,必先利其器,做java开发也一样,在比较了目前最流行的几个java IDE(eclipse,myeclipse.IDEA)之后,我果断选择IDE ...
- Oracle总结第二篇【视图、索引、事务、用户权限、批量操作】
前言 在Oracle总结的第一篇中,我们已经总结了一些常用的SQL相关的知识点了-那么本篇主要总结关于Oralce视图.序列.事务的一些内容- 在数据库中,我们可以把各种的SQL语句分为四大类- (1 ...
- Golang学习-第二篇 搭建一个简单的Go Web服务器
序言 由于本人一直从事Web服务器端的程序开发,所以在学习Golang也想从Web这里开始学起,如果对Golang还不太清楚怎么搭建环境的朋友们可以参考我的上一篇文章 Golang的简单介绍及Wind ...
- 【Java EE 学习 28 上】【oracle学习第二天】【子查询】【集合运算】【几种数据库对象】
一.子查询 1.为什么要使用子查询:问题不能一步求解或者一个查询不能通过一步查询得到. 2.分类:单行子查询和多行子查询. 3.子查询的本质:一个查询中包含了另外一个或者多个查询. 4.使用子查询的规 ...
- Oracle学习第二天
oracle数据库的常见数据类型oracle全部数据类型 有26种 char定长字符串类型 长度是固定不变的 例如:no char(10) 如果存入的值不足十个字符,其它位也被占用默认长度是1 最大长 ...
随机推荐
- C++学习(一):现代C++尝试
C++是一门与时俱进的语言. 早期的C++关注的主要问题是通用性,却没有太多关注易用性的问题,使得C++成为了一门多范式语言,但是使用门槛较高. 从2011开始,C++的标准进行了较大的更新,开始更多 ...
- Python 复习-1
#!/usr/bin/env python # -*- coding:utf-8 -*- # @Time : 2017/10/27 22:46 # @Author : lijunjiang # @Fi ...
- django+nginx+mod_wsgi+apache网站部署
软件安装 0.如果对selunix不熟就先把它停掉 vi /etc/selinux/config 改动selinux=diabled 然后重启计算机 1.编译安装python mod_wsgi的安装需 ...
- 在 IntelliJ IDEA 中配置 JSF 开发环境的入门详解
JSF 作为 JavaEE 官方标准,在了解并掌握其基本开发技术后,对于功能要求较高.业务流程复杂的各种现代 Web 应用程序开发将会成为非常合适且强大的高效率开发利器.JSF 的开发环境搭建涉及到在 ...
- interview ms1 N_Dorm
判断是否为n回文,比如 a b a 是1 回文, abcdab是2回文. 输入: abcabc|3 这种格式,输出true or false #include <iostream> #in ...
- OnTouchListener
1.布局 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android ...
- 小菜的系统框架界面设计-XiaoCai.WinformUI代码开源
我的源码分享 曾经,看到别人漂亮的系统界面,合理的布局,可是却没有提供源码,道理很简单,就是有偿提供,实际上对于有些技巧的东西也并没有多么难,只是不懂原理,感觉到困难罢了. 而对于刚毕业的我,求知欲强 ...
- iOS7开发技巧
和任何新的iOS版本一样,有着一堆堆的新技巧和修改需要处理.有些我并不会立即遇到,所以这篇文章并不是一套完整技巧汇总.只是分享一些我碰巧遇到的问题. 如果你有任何更多的发现,可以发Twitter或者e ...
- Error Code: 1055 incompatible with sql_mode=only_full_group_by
OperationalError at / (1055, "Expression #1 of ORDER BY clause is not in GROUP BY clause and co ...
- EasyMvc入门教程-基本控件说明(12)栏目导航
栏目导航一般用来显示当前页面所在的模块层级位置关系,如下图所示: 当然也有前端网站作为小栏目导航,凡是没有绝对,只要不违和就好:),下面上代码: @{ var data = new List<N ...