Oracle的基本学习(三)—函数
一、字符函数
1.大小写控制函数
--lower:使字母变为小写--
--upper:使字母变为大写--
--initcap:使字符的第一个字母变为大写--
select
lower('ABC'),
upper('sql'),
initcap('HeLlo SQL')
from dual;
select employee_id, department_id,last_name, salary
from employees
where lower(last_name)='king';
2.字符控制函数
concat(str1,str2)
连接两个字符串。
substr(str,index,n)
截取字符串,从index开始(sql字符串下标第一个为1),截取n个长度。
length(str)
获取str的长度。
instr(str1,str2)
str2在str1首次出现的索引,如果不存在返回0。
lpad(str1,len,str2)
设置str1长度为len,如果长度不够在左边用str2补齐。
rpad(str1,len,str2)
设置str1长度为len,如果长度不够在右边用str2补齐。
trim(str1,from str2)
去掉str2中的st1,仅仅是首部和尾部的。
replace(str,str1,str2)
把str中的str1替换成str2,全部都替换。
select
concat('hello','sql'),
substr('hellosql',2,4),
instr('HelloWorld','o'),
length('hello sql')
from dual;
select employee_id,last_name, salary,lpad(salary,10,'*')
from employees
where department_id=80;
--trim:仅仅去掉首位和尾部的--
--replace:替换所有的--
select
trim('A' from 'AABBAACCAA'),
replace('AABBAACCAA','A','M')
from dual;
二、数字函数
round: 四舍五入函数。
trunc: 截断函数。
mod: 求余函数。
--round:四舍五入--
select
round(435.45,1),
round(435.45),
round(435.45,-1)
from dual;
--trunc:截断--
select
trunc(435.45,1),
trunc(435.45),
trunc(435.45,-1)
from dual;
三、日期相关函数
to_char(date,'format_model')
对日期的转换。
select to_char(sysdate,'yyyy-mm-dd hh:mi:ss')
from dual;
四、通用函数
nvl函数
格式: nvl(E1,E2)
解释: 如果E1为NULL,则函数返回E2,否则就返回E1。
nvl2函数
格式: nvl2(E1,E2,E3)
解释: 如果E1为NULL,则函数返回E3,若E1不为null,则返回E2。
nullif函数
格式: nullif(exp1,exp2)
解释: 如果两个表达式不相等,NULLIF 返回第一个exp1的值。如果两个表达式相等,NULLIF 返回空值NULL。
coalesce函数
格式: coalesce(exp1,exp2,,,,,)
解释: 依次参考各参数表达式,遇到非null值即停止并返回该值。如果所有的表达式都是空值,最终将返回一个空值。
case表达式
SELECT last_name,
job_id,
salary,
department_id,
CASE department_id
WHEN 10 THEN
10 * salary
WHEN 20 THEN
20 * salary
WHEN 30 THEN
30 * salary
ELSE
salary
END new_salary
FROM employees
WHERE department_id IN (10, 20, 30);
decode函数
SELECT last_name,
job_id,
salary,
department_id,
DECODE(department_id,
10,10 * salary,
20,20 * salary,
30,40 * salary,
salary) new_salary
FROM employees
WHERE department_id IN (10, 20, 30);
Oracle的基本学习(三)—函数的更多相关文章
- Oracle 数据库基础学习 (三) Oracle 四个表结构
Oracle 四个表的 emp dept salgrade bunus 的结构,记住有利于后期SQL语句的学习 雇员表(emp) No. 字段 类型 描述 1 empno NUMBER(4) 表示 ...
- 【软件实施面试】MySQL和Oracle联合查询以及聚合函数面试总结
软件实施面试系列文章第二弹,MySQL和Oracle联合查询以及聚合函数的面试总结.放眼望去全是MySQL,就不能来点Oracle吗?之前面过不少公司,也做过不少笔试题,现在已经很少做笔试题了.你肚子 ...
- oracle中的nvl(), nvl2()函数
nvl()函数是oracle/plpgsql中的一个函数,格式为:nvl(string1, replace_with) 功能:如果string1 位null,那么nvl()函数返回replace_wi ...
- TweenMax动画库学习(三)
目录 TweenMax动画库学习(一) TweenMax动画库学习(二) TweenMax动画库学习(三) ...
- C++学习之函数指针
C++学习之函数指针 和数据项类似,函数也有地址,函数的地址是存储在机器语言代码的内存的开始地址.通常,这些地址对用户而言,不重要也没什么用处,但对程序而言,它却很有用. 一.函数 ...
- Oracle教程之学习笔记
Oracle教程之学习笔记... ----------------------------------- Oracle教程:---学习笔记: ============================= ...
- 4.机器学习——统计学习三要素与最大似然估计、最大后验概率估计及L1、L2正则化
1.前言 之前我一直对于“最大似然估计”犯迷糊,今天在看了陶轻松.忆臻.nebulaf91等人的博客以及李航老师的<统计学习方法>后,豁然开朗,于是在此记下一些心得体会. “最大似然估计” ...
- DjangoRestFramework学习三之认证组件、权限组件、频率组件、url注册器、响应器、分页组件
DjangoRestFramework学习三之认证组件.权限组件.频率组件.url注册器.响应器.分页组件 本节目录 一 认证组件 二 权限组件 三 频率组件 四 URL注册器 五 响应器 六 分 ...
- [ZZ] 深度学习三巨头之一来清华演讲了,你只需要知道这7点
深度学习三巨头之一来清华演讲了,你只需要知道这7点 http://wemedia.ifeng.com/10939074/wemedia.shtml Yann LeCun还提到了一项FAIR开发的,用于 ...
随机推荐
- PHP学习1 — PHP文件处理
PHP 中 include 与 require Php include (或 require)语句会获取指定文件中存在的所有文本/代码/标记,并复制到使用 include 语句的文件中. 这意味着您 ...
- 关于ReentrantLock和Condition的用法
这篇博客是过年后的第一篇博客,2.13正式上班,之前在家休年假.上班第一天公司说有个紧急的项目需要上线,所以我们连续加了两个星期的班,直到上个周六还在加班,终于成功上线了.今天是2月的最后的一天,继续 ...
- Jsp注册界面——request对象
1. Reg.jsp <%@ page language="java" contentType="text/html; charset=UTF-8" pa ...
- UITableView多层展开与收起
规则要求: tableview 有多层,类似于xcode文件目录的层级关系,每一个最开始展示的层姑且称之为根目录吧,并且,每个根目录下的层数不定. 与文件目录类似,每个目录下可以有不同层级的目录同时展 ...
- Selenium 使用过程遇到问题随笔
最近正在学习Selenium,自学是比较难的,也很感谢网络环境中,各位大大的博文帮助. 也希望在此能够记录一下从小白学习使用selenium测试的过程,也希望能对别人有所帮助. 关于环境部署,以及入门 ...
- 模仿Wireshark网络抓包工具实现---c++
最近在用Wireshark抓包工具的时候,老感觉这东西用起来很简单,功能强大,所以想了解他的实现原理,我就自己好奇写了一个实现基本功能的demo吧. 其实叫抓包工具,其实就是抓取流经自己网卡的所有ip ...
- 技术分享,学术报告presentation 常用的承接句
前言 现在即使是搞技术,做科研的,也需要在不同的场合,用ppt来做分享,做汇报,做总结. 如果国际会议,研讨会,或者在外企,国外工作,英文的presentation就更加必不可少.英语的提升需要大家从 ...
- React组件开发(二)表达式
var obj = { name:"xiaoming", age:"18" } var Hello= React.createClass({ render:fu ...
- JAVA: List用法
1.List中可以添加任何对象,包括自己定义的新的类. class Person{.....}上面定义了一个Person类,下面看好如何使用ListPerson p1=new Person();Per ...
- JavaScript数据结构——栈的实现
栈(stack)是一种运算受限的线性表.栈内的元素只允许通过列表的一端访问,这一端被称为栈顶,相对地,把另一端称为栈底.装羽毛球的盒子是现实中常见的栈例子.栈被称为一种后入先出(LIFO,last-i ...