一、数字函数

数字型函数输入数字型参数并返回数值型的值。多数该类函数的返回值支持38位小数点,如:COS, COSH, EXP, LN,LOG, SIN, SINH, SQRT, TAN, and TANH 支持36位小数点。ACOS, ASIN, ATAN, and ATAN2支持30位小数点

1.trunc(n1[,n2])

注:n2为正时,将小数点n2后的数去掉即可;

n2为负时,将小数点前的几位数置为0,小数点后的数去掉即可

SELECT TRUNC(23.56),TRUNC(3.1415926,1),TRUNC(3.1415926,3),TRUNC(3.1415926,-1),TRUNC(23.56,-1) FROM DUAL;
返回结果:
TRUNC(23.56):23
TRUNC(3.1415926,1):3.1
TRUNC(3.1415926,3):3.141
TRUNC(3.1415926,-1):0
TRUNC(23.56,-1) :20

2.round(n1[,n2])

SELECT ROUND(23.56),ROUND(3.1415926,1),ROUND(3.1415926,3),ROUND(3.1415926,-1),ROUND(23.56,-1) FROM DUAL;
返回结果:
ROUND(23.56):24
ROUND(3.1415926,1):3.1
ROUND(3.1415926,3):3.142
ROUND(3.1415926,-1):0
ROUND(23.56,-1):20

3.mod(n1,n2)

返回n1除n2的余数,若n2=0,则返回n1的值

SELECT MOD(3,5) FROM DUAL;--3

4.round():四舍五入,将原值转化为指定的小数位数

SELECT ROUND(1.45,0) N1,ROUND(1.55,0) N2 FROM DUAL;--N1:1,N2:2

5.floor():向下取整

SELECT FLOOR(1.45) N1,FLOOR(1.65) N2,FLOOR(-1.55) N3,FLOOR(-1.45) N4 FROM DUAL;--N1:1,N2:1,N3:-2,N4:-2

6.ceil():向上取整

SELECT CEIL(1.45) N1,CEIL(1.55) N2,CEIL(-1.45) N3,CEIL(-1.55) N4 FROM DUAL;--N1:2,N2:2,N3:-1,N4:-1

7.power:取幂

SELECT POWER(3,2) FROM DUAL;--9

8.sqrt:求平方根

SELECT SQRT(9) N2 FROM DUAL;--3

9.返回值的符号(正数返回为1,负数为-1)

SELECT SIGN(-13) N1,SIGN(265) N2 FROM DUAL;--N1:-1;N2:1

二、字符型函数:返回字符值

该类函数返回与输入类型相同的类型。

返回的CHAR类型值长度不超过2000字节;
返回的VCHAR2类型值长度不超过4000字节;
如果上述应返回的字符长度超出,oracle并不会报错而是直接截断至最大可支持长度返回。

返回的CLOB类型值长度不超过4G;
对于CLOB类型的函数,如果返回值长度超出,oracle不会返回任何错误而是直接抛出错误。

1.SUBSTR(c1,n1[,n2])

截取指定长度的字符串。

2.REPLACE(c1,c2[,c3])

将c1字符串中的c2替换为c3,如果c3为空,则从c1中删除所有c2。

SELECT REPLACE('asWEfewEw as ee','w','-') FROM DUAL;--asWEfe-E- as ee

3.INSTR(str1,str2)

SELECT INSTR('ABCFDGFDHD','FD') FROM DUAL;

4.字符串连接

1)||

SELECT 'ABCFDGFDHD'||'FD' N1 FROM DUAL;

2)concate

SELECT CONCAT('ABCFDGFDHD','FD') N1 FROM DUAL;

5.TRIM([{{ LEADING | TRAILING | BOTH }[ trim_character ]} FROM ]trim_source)

如果没有指定任何参数,则oracle去除trim_source头尾空格

SELECT TRIM('WasWEfewEw as eeW') N1 FROM DUAL;--WasWEfewEw as eeW

如果指定了 trim_character参数,则oracle去掉 trim_source头尾 trim_character(这个建议细致测试,有多种不同情形的哟)

SELECT TRIM('W' FROM 'WasWEfewEw as eeW')FROM DUAL;--asWEfewEw as ee

如果指定了 leading 参数,则会去掉 trim_source 头部 trim_character

SELECT TRIM(leading 'W' FROM 'WasWEfewEw as eeW') FROM DUAL;--asWEfewEw as eeW

如果指定了 trailing 参数,则会去掉 trim_source 尾部 trim_character

SELECT TRIM(trailing 'W' FROM 'WasWEfewEw as eeW') FROM DUAL;--WasWEfewEw as ee

如果指定了 both 参数,则会去掉 trim_source 头尾 trim_character

SELECT TRIM(both 'W' FROM 'WasWEfewEw as eeW') FROM DUAL;--asWEfewEw as ee

注意: trim_character长度=1

6.replace的超集:translate(str,from_str,to_str)

translate(str,from,to):from 与to 是从左到右一一对应的关系,如果不能对应,则视为空值。如果 from_str比to_str长,那么在 from_str中而不在to_str中的额外字符将从str中被删除,因为它们没有相应的替换字符。若to_str比from_str长,多出的字符无作用,也不会出现异常。

SELECT TRANSLATE('ABCBBAADEF','BA','$%') N1 FROM DUAL; --B将被$替代,A将被%替代。%$C$$%%DEF
SELECT TRANSLATE('ABCBBAADEF','BAD','$%') N2 FROM DUAL; --B将被$替代,A将被%替代,D对应的值是空值,将被移走。%$C$$%%EF

注:to_str不能为空。若to_str为空,则返回空。Oracle 将空字符串解释为 NULL,若TRANSLATE 中的任何参数为NULL,那结果也是 NULL。

SELECT TRANSLATE('ABC','B','XX') FROM DUAL;

如:将数字保留,将其他的大写字母移除。

SELECT TRANSLATE('2KRW229','0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ','0123456789') "Translate example" FROM DUAL;--2229

如:将字符串的最后一个、第一个保留外,其他的用*替换。

SELECT TRANSLATE('中国人',substr('中国人',1,length('中国人') - 1),rpad('*',length('中国人'),'*')) "License"FROM DUAL;--**人
SELECT TRANSLATE('中国人',substr('中国人',2,length('中国人') - 1),rpad('*',length('中国人'),'*')) "License"FROM DUAL;--中**

7.decode(str,if,result)

SELECT DEPTNO,DECODE(DEPTNO,10,'1',30,'3','') FROM DEPT;

8.LTRIM(c1[,c2])

从字符串c1左侧截取与指定字符串c2相同的字符并返回。若c2为空,则默认截取空格。

SELECT LTRIM('asWEfewEw as ee','w') FROM DUAL;--asWEfewEw as ee

9.LPAD(c1,n[,c2])

若n<c1.length,则截取指定长度

若n>c1.length and c2 is null,以空格从左到右补充字符长度至n,并返回

若n>c1.length and c2 is not null,以指定字符c2从左到右补充字符长度至n,并返回

SELECT LPAD('what is piano',5),LPAD('what is piano',16),LPAD('what is piano',16,'-'),LPAD('what is piano',-2,'-') FROM DUAL;
返回结果:
LPAD('what is piano',5):what
LPAD('what is piano',16):   what is piano
LPAD('what is piano',16,'-'):---what is piano
LPAD('what is piano',-2,'-'):

10.RPAD(c1,n[,c2])

补充字符时与LPAD相反,其他基本相同。

三、转换函数

1.to_number() 转换为数字类型

SELECT TO_NUMBER(TO_CHAR(SYSDATE,'HH24')) N1 FROM DUAL; --以数字显示的小时数

2.to_char()

3.to_date()

Oracle -- Oracle中几个数字函数、转换函数、字符串函数相关推荐

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

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

  2. C语言中你可能会用到的字符串函数的代码

    将写内容过程中比较常用的内容段做个备份,下面资料是关于C语言中你可能会用到的字符串函数的内容. {if(dest == src)return dest;else if(dest < src){} ...

  3. clickhouse 常用函数 算数函数 时间函数 日期函数 字符串函数 比较函数 数据类型函数 逻辑函数 类型转换函数 替换函数 数组函数 随机函数 编码函数 UUID URL IP 函数

    clickhouse 常用函数 算数函数 时间函数 日期函数 字符串函数 比较函数 数据类型函数 逻辑函数 类型转换函数 替换函数 数组函数 随机函数 编码函数 UUID URL IP 函数 算数函数 ...

  4. 达梦数据库常用函数——字符串函数

    达梦数据库常用函数--字符串函数 字符串函数 函数 ASCII 函数 BIT_LENGTH 函数 CHAR 函数 CHAR_LENGTH / CHARACTER_LENGTH 函数 INITCAP 函 ...

  5. Oracle函数——字符串函数

    字符串函数 1.1 计算字符串长度的函数 LENGTH(str) 1.2 合并字符串函数CONCAT(s1,s2) CONCAT(s1,s2):返回结果为连接参数产生的字符串 1.3 字符串搜索函数I ...

  6. 表达式和内部函数(运算符/连接符/数字函数/字符串函数/日期函数/转换函数/format函数)

    运算符 运算符 名称 优先级 例子fa ^ 幂运算 1 a^b - 取负 2 -a * , / 乘除 3 a*b,a/b \ 整除 4 a\b Mod 取余运算 5 a Mod b +, - 加减 6 ...

  7. 浮点数转换成字符串函数

    sprintf函数太大,在STM8上面根本不敢用,动不动就.text overflow.为了将采集的数值通过串口上传到计算机,只能自己写了一个浮点数转换成字符串的函数: #include <st ...

  8. python时间戳转换字符串_在Python中如何将时间戳转换成字符串

    我对以下代码有问题.我得到一个错误"strTime()参数1必须是str,而不是Timestamp" 我想我应该做的是把日期从时间戳转换成字符串,但我不知道该怎么做.在class ...

  9. 四、SQL函数②(字符串函数)

    字符串函数:用户的密码.电子邮箱地址.证件号码等都是以字符串类型保存在数据库中的. 计算字符串长度 LENGTH()函数用来计算一个字符串的长度.该函数接受一个参数,此参数为待计算的字符串表达式,在M ...

  10. PHP函数 -字符串函数

    1.查找字符位置函数: strpos($str,search,[int]):查找search在$str中的第一次位置从int开始: stripos($str,search,[int]):函数返回字符串 ...

最新文章

  1. Your system is running in low-graphics mode
  2. pandas使用replace函数将dataframe指定数据列中的特定字符串进行自定义替换(replace substring in dataframe column values)
  3. Python基础之模块与包
  4. NOD32: 教育网、公网超级 病毒更新服务器
  5. 利用RxJava加载图片
  6. sql获取oracle数据库数据,通过sql语句获取数据库的基本信息
  7. F1 score,micro F1score,macro F1score 的定义
  8. 微软推出免费在线系统诊断工具--不用手动下载
  9. java xml dom4j 解析_Java使用DOM4J解析XML
  10. 廖雪峰的python学习网址
  11. SpringCloud Alibaba之Sentinelt组件
  12. 活跃android手机,谁能升级2.3?Android手机活跃榜
  13. PLC江湖波澜不惊,自动化风云录!
  14. CRMEB开源商城部署在腾讯云
  15. Deecamp2019年试题A卷详解和感受
  16. 11.1-4日,RTE2022 第八届实时互联网大会邀您“聚享万象”,线上报名开启
  17. 最新版谷歌浏览器每次都要允许flash解决方法
  18. 钱从哪里来--读书笔记
  19. mac pro m1:安装dump文件内存分析工具——MAT
  20. 中国信保总经理唐若疑卷入ST宏盛合同诈骗案昕下马

热门文章

  1. Cortex-A72核心板 | RK3399六核
  2. 为什么需要防雷接地,防雷接地的作用是什么
  3. linux定时备份到邮箱,RouteOS之每日定时备份且发送到邮箱
  4. 胡立阳:如何避免落入弱势反弹的陷阱
  5. 视通科技助力某法院审委会打造多媒体会议室
  6. 现代操作系统笔记 2.1 进程
  7. gen阻抗 pcie_PCIe Gen3/Gen4接收端链路均衡测试(上篇:理论篇)-EDA/PCB-与非网
  8. 关于网站编码完成后,上线前的安全检查
  9. 闺蜜测试卷软件,2020年闺蜜测试卷 2020闺蜜测试题图片
  10. 捷克杀毒软件开发商Avast获得1亿美元投资