Oracle中的单行函数

简介: 字符串函数: 注意SUBSTR 如果向要从后向前截取,可以使用负数来表示例如:SUBSTR('helloword',-3),表示截取最后三个字符,不写长度.默认从开始截取到字符串的末尾.以上函数除了INITCAP以外都可以在mysql中使用程序中的字符串,下标从0开始,数据库中的下标从1开始,Oracle中,如果下标写0.

字符串函数:

 

注意SUBSTR 如果向要从后向前截取,可以使用负数来表示

例如:SUBSTR('helloword',-3),表示截取最后三个字符,不写长度.默认从开始截取到字符串的末尾.

以上函数除了INITCAP以外都可以在mysql中使用

程序中的字符串,下标从0开始,数据库中的下标从1开始,Oracle中,如果下标写0.则按照1处理,在mysql中,不会返回任何结果

数学函数

注意,ROUND,和TRUNC函数都可以是用以下格式ROUND(889.99,-2) 这样中格式,小数位数可以是负数,当小数位数是负数时,例子中的结果是900

在mysql中没有TRUNC函数,有功能相同的TRUNCATE函数,用法也和Oracle中的TRUNC函数相同.

时间函数

在日期中有如下三个操作:

  日期+数字=日期(表示若干天之后的天数)

  日期-数字=日期(表示若干天前的天数)

  日期-日期=天数(表示两个日期相差多少天)

但是这种计算的结果不精确,在oracle中不精确,在mysql中结果会是一种错误的结果

所以给出以下日期函数

使用日期函数进行日期的计算会很精确,但是以上的函数在mysql中只有LAST_DAY可以使用

 

 转换函数

 

 

以上函数在mysql中不存在,只有Oracle中有

例如我想要将现在的时间转换成字符串

SELECT TO_CHAR(SYSDATE,'yyyy-mm-dd') FROM dual;

我们也可以从日期中获取年.月,日

SELECT TO_CHAR(SYSDATE,'yyyy') from dual;

 

 还可以用来格式化数字

SELECT TO_CHAR(5635192189372198731,'999,999,999,999,999,999,999,999,999') FROM dual;

数字9.是任意数字的标记,在格式化数字或者货币的时候,定义的格式的字符串中,标记的位数必须大于需要转换的数据的位数

货币的转换

本地货币的标记是L,任意数字的标记是9

 

通用函数

NAL函数

如果我们要查询员工表中,员工的编号,员工的姓名,员工的年薪(  年薪=(月薪+绩效)*12  )

但是有些员工没有绩效,这样的话,最后返回的结果,没有绩效的员工就没有年薪

命令:select empno,ename,(sal+comm)*12 INCOME from emp;

这时候我们就可以使用NVL函数

命令select empno,ename,(sal+NVL(comm,0))*12 INCOME from emp;

DECODE函数,这个函数比较重要,面试的时候可能会被问到

完整的员工信息如下:

如果我们想要查询员工编号,员工姓名,员工的job,但是员工的job名称却是英文,我们看着不太好看,想要将其显示为中文

命令: Select empno,ename,job,DECODE(job,'CLERK','办事人员','SALESMAN','销售人员','MANAGER','经理','--') 职位 From emp ;

 

相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。   相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情: https://www.aliyun.com/product/rds/mysql 
相关文章
|
SQL Oracle 算法
|
SQL Oracle 关系型数据库
JAVAEE框架数据库技术之12_oracle常用函数和高级查询子查询
JAVAEE框架数据库技术之12_oracle常用函数和高级查询子查询
355 0
JAVAEE框架数据库技术之12_oracle常用函数和高级查询子查询
|
SQL 存储 Oracle
【YashanDB知识库】Oracle pipelined函数在YashanDB中的改写
【YashanDB知识库】Oracle pipelined函数在YashanDB中的改写
|
存储 Java 数据库
JAVAEE框架数据库技术之13_oracle 之PLSQL技术及存储过程和函数(二)
JAVAEE框架数据库技术之13_oracle 之PLSQL技术及存储过程和函数
305 0
|
SQL Oracle 关系型数据库
Oracle|内置函数之INSTR
【7月更文挑战第5天】
|
SQL Oracle 关系型数据库
|
Oracle 关系型数据库 数据挖掘
|
NoSQL Oracle 关系型数据库
MongoDB与Oracle:管道函数兼容之道
【4月更文挑战第20天】
332 2
|
Oracle 关系型数据库 数据管理
Oracle常用系统函数之日期和时间类函数:时空穿梭者的魔法棒
【4月更文挑战第19天】Oracle数据库中的日期和时间函数是强大的工具,如同时空穿梭者的魔法棒。`SYSDATE`和`CURRENT_TIMESTAMP`能显示当前时间,助你在数据中记录关键时刻;`ADD_MONTHS`函数让你轻易跃过月份,实现时间穿越;而`TO_DATE`和`TO_CHAR`则负责日期和时间的格式转换,如同时间的化妆师。除此之外,还有`EXTRACT`、`LAST_DAY`等更多魔法道具,帮助数据管理专家们自如操控时间,解决各种挑战。掌握这些函数,你也能在数据世界中自由穿梭!
|
Oracle 算法 关系型数据库
Oracle常用系统函数之数字类函数:数字的魔术师
【4月更文挑战第19天】Oracle数据库中的数字类函数是数字处理的魔术师,包括`ROUND`(四舍五入),`CEIL`和`FLOOR`(向上/下取整),以及`ABS`(计算绝对值)。还有`MOD`、`TRUNC`和`POWER`等函数,提供求余数、截断和计算幂的功能。熟练运用这些函数能提升数据管理效率,让处理数字变得更简单、有趣。

推荐镜像

更多