Oracle中的函数

1.单行函数也称标量函数,对于从表中查询的每一行,该函数都返回一个值.单行函数可用与select子句中,也可用于where子句中.单行函数大致分为:

>.日期函数

>.字符函数

>.转换函数

>.其他函数

1.日期函数

>.add_months: add_months(d,n) d是日期 n表示月数

select addmonths(sysdate,1) from dual;

>.months_between months_between(d1,d2) 如果d1晚与d2,则结果为正数,否则为负数.如果d1和d2为某月中的同一天后月份的最后一天,则结果为整数,否则Oracle将根据一个月31天来计算结果的小数部分

select months_between(date'2005-2-10',date'2007-3-10') from dual; =-25 差25个月

>.last_day last_day(d) 返回日期当月的最后一天的日期值

>.round round(d,[fmt]) 次函数返回日期值,次日期四舍五入为格式模型指定的单位.fmt为可选项,默认舍入最靠近的那一天

select round(sysdate) from dual; 结果为sysdate当天的日期

select round(sysdate,'year') from dual; 如果sysdate中的月在7月1日之后则返回下一年的1月1日,否则为当年的1月1日

select round(sysdate,'month') from dual; 舍入到月的第一日

select round(sysdate,'day') from dual; 最近的星期日

>.trunc trunc(d,[fmt])与round不同的是:他只舍不入

select trunc(date'2005-8-27','year') from dual; =2005-1-1

>.next_day next_day(d,day) d表示日期,day表示一周中的任何一天.

select next_day(sysdate,'星期二') from dual; 结果为sysdate后的第一个星期二,参数'星期二'也可以用整数3表示.

>.extract extract(fmt from d) 提取日期中的特定部分.

select extract(year from date'2005-2-10') from dual; 结果为2005

注意次处的fmt不要使用''

2.字符函数

函数

说明

输入

输出结果

Initcap(char)

首字母大写

select initcap(‘hello’) from dual;

Hello

Lower(char)

转换为小写

select lower(‘FUN’) from dual;

fun

Upper(char)

转换为大写

select upper(‘sun’) from dual;

SUN

Ltrim(char,set)

左裁减,set不写默认裁减空格

select ltrim(‘xyzabc’,’xyz’) from dual;

abc

Rtrim

和左裁减相反

Select rtrim(‘xyzabc’,’abc’) from dual;

Xyz

Translate(char,from,to)

按from到to的翻译模式,去匹配char中存在的字符并替换

Select translate(‘jack’,’abcd’,’1234’) from dual;

J13k

Replace(char,search_str,replace_str)

在char中查找srearch_str并替换成replace_str

Select replace(‘abcd’,’ab’,’fg’) from dual;

Fgdc

Instr(char,substr)

查找子串位置:从1开始,未找到时为0

Select instr(‘worldwide’,’d’) from dual;

5

Substr(char,pos,len)

从pos位置开始,取len的长度

Select substr(‘abcd’,2,2) from dual;

Bc

Concat(char1,char2)

连接字符串

Select concat(‘hello’,’world’) from dual;

helloworld

其他字符函数:

chr(ASCII):

根据acsii码返回对应的字符

Lpad(char,len,to):

指定长度为len,不够长就在左边用to填充,若char的长度大于len,则取左边的指定len,右边舍掉,如:

select lpad('function',15,'=') from dual; 结果:======function 若:

select lpad('function',5,'=') from dual;结果funct 取5个的长度

Rpad和Lpad正好相反.

trim和ltrim和rtrim一样,trim舍去左右两边的 默认也为舍去空格.

当指定leading 选项时,与Ltrim类似,裁减左边的字符

select trim(leading 9 from 9992434999) from dual;结果2435999 开头的9被去掉了,一旦遇到9以外的数字,将停止操作

当指定trailing选项时,则正好与leading 相反

select trim(trailing 9 from 9992434999) from dual;结果9992434

当不指定时 去掉左右两边的字符

select trim(9 from 9992434999) from dual;结果2434

decode(expr,search1,result1,search1,result2)

与translate不同的是,decode进行逐行逐个值的替换,translate进行逐行逐个字符的替换

数字函数

函数

说明

输入

结果

Abs(n)

取绝对值

Select abs(-15) from dual;

15

Ceil(n)

向上取整(大于n的最小整数)

Select ceil(15.1) from dual;

16

Sin(n)

正玄

Select sin(1.571) from dual;

0.99999979

Cos(n)

余玄

Select cos(0) from dual;

1

Sign(n)

取符号(正返回1,负返回-1)

Select sign(-15) from dual;

-1

Floor(n)

向下取整(不大于n的最大整数)

Select floor(100.2) from dual;

100

Power(m,n)

M的n次幕

Select power(4,3) from dual;

64

Mod(m,n)

取m除n的余

Select mod(10,3) from dual;

1

Round(m,n)

四舍五入小数位为n

Select round(100.245,2)from dual

100.25

Trunk(m,n)

截断小数位为n只舍不入

Select trunk(100.245,2) from dual

100.24

Sqrt(n)

平方根

Select sqrt(4) from dual

2

oracle中存在函数吗,Oracle中的函数相关推荐

  1. Oracle数据库中调用Java类开发存储过程、函数的方法

    Oracle数据库中调用Java类开发存储过程.函数的方法 时间:2014年12月24日  浏览:5538次 oracle数据库的开发非常灵活,不仅支持最基本的SQL,而且还提供了独有的PL/SQL, ...

  2. oracle返回表id,在Oracle的函数中,返回表类型的语句

    Oracle的function中怎么返回表变量? 太晚了,过多的理论知识就不说了,下面简单地说实现吧!.. 1.创建表对象类型. 在Oracle中想要返回表对象,必须自定义一个表类型,如下所示: 复制 ...

  3. oracle 12c pl/sql语言,ORACLE 12C SQL语句中通过with 定义PL/SQL 函数

    在ORACLE 12C支持在sql语句中编写函数,用来实现sql语句操作需要使用函数的部分功能,该功能对于你不想在数据库中新建函数 or 你的库是read only模式下要使用新函数实现某种功能,可以 ...

  4. oracle中的and用法,Oracle bitand( )函数简介

    Oracle bitand( )函数在Oracle数据库中是很常见的,下面就为您详细介绍Oracle bitand( )函数的用法,如果您感兴趣的话,不妨一看. Oracle bitand( )函数: ...

  5. oracle的date_add,SQL Server 中add函数到 oracle date add的操作

    SQL Server 中add函数到 oracle date add的操作 oracle date add minutes How does one add a day/hour/minute/sec ...

  6. Oracle中to_char函数和MySQL中的str_to_date函数区别

    标题Oracle中to_char函数和MySQL中的str_to_date函数 1. str_to_date()----->相当于Oracle中的to_char(): 字符串转换为日期格式 (1 ...

  7. Oracle中有dateadd吗,SQL Server 中add函数到 oracle date add的操作

    SQL Server 中add函数到 oracle date add的操作 oracle date add minutes How does one add a day/hour/minute/sec ...

  8. mysql中now()函数在oracle中怎么用

    2019独角兽企业重金招聘Python工程师标准>>> mysql中now()函数在oracle中怎么用    2011-9-26 11:38 提问者:wepoom 检举  |  2 ...

  9. oracle中如何写函数【oracle技术】

    oracle中如何写函数[oracle技术] | 浏览:1377 | 更新:2014-04-29 23:14 | 标签:oracle 在oracle数据开发中函数是必不可少的.函数可以一般是可以完成某 ...

  10. oracle怎么声明nvl函数,[转载]Oracle中的NVL函数

    Oracle中函数以前介绍的字符串处理,日期函数,数学函数,以及转换函数等等,还有一类函数是通用函数.主要有:NVL,NVL2,NULLIF,COALESCE,这几个函数用在各个类型上都可以. 下面简 ...

最新文章

  1. RedHat8 配置本地yum源
  2. Android多点触摸交互处理,放大缩小图片
  3. 2021-06-11 pytorch基本语法
  4. c 语言怎么编译 .dll,将你的 C 语言代码编译成 .NET
  5. gin go 更新缓存_golang自动缓存-对缓存策略的补充方案
  6. pivot sqlserver 条件_行转列之SQLSERVERPIVOT与用法详解
  7. 《PWA实战:面向下一代的Progressive Web APP》读书笔记
  8. postman 使用_Postman简单使用
  9. ACM题目————食物链
  10. little bird
  11. 小猿圈python视频_小猿圈python学习-格式化打印
  12. matlab ct投影数据,CT_projection_and_reconstruction
  13. sp烘焙流程_烘焙工作流程图
  14. 一个AI玩57个游戏,DeepMind离真正「万能」的AGI不远了!
  15. 8类必须学会的运营工具
  16. MySQL常用操作指令大全
  17. 数学符号“s.t.”的意义
  18. 优麒麟运行Linux软件,优麒麟Ubuntu Kylin特色应用软件下载
  19. yami认证显示连接服务器失败,yamip安装教程
  20. 用python画动图_Python 绘图与可视化 matplotlib 制作Gif动图

热门文章

  1. 在虚拟机中安装LINUX
  2. HttpContext.Current.Cache vs. HttpRuntime.Cache
  3. 为ListBox添加水平滚动条
  4. 兩台SQL Server數據同步解決方案
  5. 校内网用户为什么那么多?
  6. 定义交货类型(Delivery Types)
  7. ABAP数据库—更新数据
  8. BDC创建物料主数据各个视图
  9. SAP SM12 解锁Lock Table
  10. 6套制造业大数据解决方案免费送,内含详细步骤手把手教会你