一、字符函数

 

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的基本学习(三)—函数的更多相关文章

  1. Oracle 数据库基础学习 (三) Oracle 四个表结构

    Oracle 四个表的 emp dept  salgrade  bunus 的结构,记住有利于后期SQL语句的学习 雇员表(emp) No. 字段 类型 描述 1 empno NUMBER(4) 表示 ...

  2. 【软件实施面试】MySQL和Oracle联合查询以及聚合函数面试总结

    软件实施面试系列文章第二弹,MySQL和Oracle联合查询以及聚合函数的面试总结.放眼望去全是MySQL,就不能来点Oracle吗?之前面过不少公司,也做过不少笔试题,现在已经很少做笔试题了.你肚子 ...

  3. oracle中的nvl(), nvl2()函数

    nvl()函数是oracle/plpgsql中的一个函数,格式为:nvl(string1, replace_with) 功能:如果string1 位null,那么nvl()函数返回replace_wi ...

  4. TweenMax动画库学习(三)

    目录               TweenMax动画库学习(一)            TweenMax动画库学习(二)            TweenMax动画库学习(三)           ...

  5. C++学习之函数指针

     C++学习之函数指针          和数据项类似,函数也有地址,函数的地址是存储在机器语言代码的内存的开始地址.通常,这些地址对用户而言,不重要也没什么用处,但对程序而言,它却很有用. 一.函数 ...

  6. Oracle教程之学习笔记

    Oracle教程之学习笔记... ----------------------------------- Oracle教程:---学习笔记: ============================= ...

  7. 4.机器学习——统计学习三要素与最大似然估计、最大后验概率估计及L1、L2正则化

    1.前言 之前我一直对于“最大似然估计”犯迷糊,今天在看了陶轻松.忆臻.nebulaf91等人的博客以及李航老师的<统计学习方法>后,豁然开朗,于是在此记下一些心得体会. “最大似然估计” ...

  8. DjangoRestFramework学习三之认证组件、权限组件、频率组件、url注册器、响应器、分页组件

    DjangoRestFramework学习三之认证组件.权限组件.频率组件.url注册器.响应器.分页组件   本节目录 一 认证组件 二 权限组件 三 频率组件 四 URL注册器 五 响应器 六 分 ...

  9. [ZZ] 深度学习三巨头之一来清华演讲了,你只需要知道这7点

    深度学习三巨头之一来清华演讲了,你只需要知道这7点 http://wemedia.ifeng.com/10939074/wemedia.shtml Yann LeCun还提到了一项FAIR开发的,用于 ...

随机推荐

  1. 在ZendStudio中增加新的php模板

    步骤: 找到目录:D:\Program Files\Zend\Zend Studio 12.5.1\plugins , 这要根据自己的安装情况来找,再找到以下文件org.eclipse.php.ui_ ...

  2. iSCS协议介绍

    1.iSCSI 协议说明 一种在 TCP/IP上进行数据块传输的标准,由Cisco 和 IBM 两家发起,并且得到了各大存储厂商的大力支持.iSCSI 可以实现在 IP 网络上运行SCSI协议,使其能 ...

  3. WEB标准了解

    今天看到朋友的简历有一项“了解WEB标准”,就特地了解了一下什么是WEB标准.现在就一项一项地解开自己的疑惑. 1.什么是WEB标准 WEB标准大部分由万维网组织(W3C)制定的WEB程序开发规范.W ...

  4. Boot Sector - Hello world

    1. code bits org 7c00h mov ax, cs mov ds, ax mov es, ax call DispStr jmp $ DispStr: mov ax, BootMess ...

  5. C#基础——集合及特殊集合

    集合 集合的基本信息: Systerm.Collections命名空间包含接口和类,这些接口和类定义各种对象(如列表.队列.位数组.哈希表和字典)的集合. Systerm.Collections.Ge ...

  6. MyBatis的类型自定义映射

    背景 利用MyBatis将数据库的时间类型映射成Java8的时间类型,引申对不同类型的自定义映射 实现方法 1.实现MyBatis中TypeHandler接口 @MappedTypes(value = ...

  7. MySQL C#教程

    这是关于MySQL数据库的C#教程,包含了对MySQL数据库基本操作: 数据库访问组件MySql Connect/NET MySql Connect/NET是MySQL官方提供给C#的接口,封装的非常 ...

  8. 转换器4:手写PHP转Python编译器,语法解析部分

    写完词法部分,又有很多杂事,周末终于有空来实现伟大的语法解析部分了. 撸完代码之后发现,程序太短了,不算上状态机,才186行(含注释),关键代码不到100行.运行调试过后,发现还行.居然可以解析One ...

  9. 作为一名JAVA程序员应该有怎样的就业思维

    想要成为合格的Java程序员或工程师到底需要具备哪些专业技能,在面试之前到底需要准备哪些东西呢?面试时面试官想了解你的什么专业技能,以下都是一个合格JAVA软件工程师所要具备的. 一.专业技能 1.熟 ...

  10. Dreamweaver如何开启代码错误提示,报错代码。

    DW的代码错误即无效提示功能设置:在DW代码窗口左面有一列很小的功能按钮,在其中寻找"高亮显示无效代码",选中之后就可以看到无效的代码会被添加背景色,会让你容易辨识.改正后背景色会 ...