Oracle 函数整理
一、字符控制函数
| 函数 | 结果 |
| CONCAT('Hello','World') | HelloWorld |
| SUBSTR('HelloWorld',1,5) | Hello |
| LENGTH('HelloWorld') | 10 |
| INSTR('HelloWorld','W') | 6 |
| LPAD(salary,10,'*'):工资显示10位不足时用*补充 | ******2400 |
| RPAD(salary,10,'*') | 2400****** |
| TRIM('H' FROM 'HelloWorld') | elloWorld |
| REPLACE('HelloWorld','H','E') | EelloWorld |
二、大小写控制函数
| 函数 | 结果 |
| LOWER('HelloWorld') | HELLOWORLD |
| UPPER('HelloWorld') | helloworld |
| INITCAP('HelloWorld SQL') | Helloworld Sql |
三、数字函数
| 函数 | 结果 |
| ROUND(四舍五入):ROUND(45.926,2) | 45.93 |
| TRUNC(截断):TRUNC(45.926,2) | 45.92 |
| MOD(求余):MOD(1600,300) | 100 |
四、日期函数
Oracle 中的日期型数据实际含有两个值: 日期和时间(函数SYSDATE 的返回值)
● 在日期上加上或减去一个数字结果仍为日期。
● 两个日期相减返回日期之间相差的天数。(日期不允许做加法运算,无意义)
● 可以用数字除24来向日期中加上或减去天数。
| 函数 | 描述 |
| MONTHS_BETWEEN | 两个日期相差的天数 |
| ADD_MONTHS | 向指定日期加上若干个月 |
| NEXT_DAY | 指定日期的下一个星期*对应的日期 |
| LAST_DAY | 本月的最后一天 |
| ROUND | 日期四舍五入 |
| TRUNC | 日期截取 |
举例:MONTHS_BETWEEN('01-SEP-95','11-JAN-94')——> 19.6774194
ADD_MONTHS ('11-JAN-94',6) ——> '11-JUL-94'
NEXT_DAY ('01-SEP-95','FRIDAY') ——> '08-SEP-95'
LAST_DAY('01-FEB-95') ——> '28-FEB-95'
五、数据类型转化

日期格式元素与显示情况列表如下(TO_CHAR(data,'format_model)函数对日期转换时,format_model常用的属性如下):
时间格式:
举个栗子:
TO_CHAR函数对数字的转换(TO_CHAR(number,'format_model')):下面在 TO_CHAR 函数中经常使用的几种格式:
| 9 | 数字 |
| 0 | 零 |
| $ | 美元符 |
| L | 本地货币符号 |
| ' | 小数点 |
| , | 千位符 |
举个栗子:
六、通用函数:这些函数适用于任何数据类型,同时也适用于空值
【1】NVL(expr1,expr2):将空值转化成一个已知的值,可以使用的数据类型有日期、字符、数字。函数的一般形式有:
— NVL(commission_pct,0)
— NVL(hire_date,'01-JAN-97')
— NVL(job_id,'No Job Yet')
【2】NVL2(expr1,expr2,expr3):expr1不为NULL,返回expr2;为NULL时,返回expr3。
【3】NULLIF(expr1,expr2):相等返回NULL,不相等返回expr1。
【4】COALESCE(expr1,expr2,......,exprn):与 NVL 相比有点在于 COALESCE 可以同时处理交替的多个值。如果第一个表达式为NULL,则返回下一个表达式,依次类推。
七、条件表达式
【1】、在 SQL 语句中使用 IF-THEN-ELSE 逻辑时,使用两种方法:
— CASH 表达式
CASE expr WHEN comparison_expr1 THEN return_expr1
[WHEN comparison_expr2 THEN return_expr2
WHEN comparison_exprn THEN return_exprn
ELSE else_expr]
END
☛下面使用 case 表达式的一个例子:

— DECODE 函数
DECODE(col|expression, search1, result1 ,
[, search2, result2,...,]
[, default])
☛下面使用 case 表达式的一个例子:

八、分组函数
常用的分组函数如下(经常使用就不过多解释了):GROUP BY、MAX、MIN、AVG、COUNT、SUM等。
就说一个知识点吧:条件判断里面包含组函数的必须使用 HVING 不能使用 WHERE:

----关注公众号,获取更多内容----
Oracle 函数整理的更多相关文章
- Oracle函数整理
) from dual;--绝对值 ,) from dual;--取模,取余数 select ceil (12.1) from dual;--去上限值 select floor (12.1) from ...
- oracle常用函数整理
oracle常用函数整理 1.绝对值.取余.判断数值正负函数 绝对值:ABS(n) 示例: SELECT ABS(100),ABS(-100),ABS('100') FROM ...
- 【函数】Oracle函数系列(2)--数学函数及日期函数
[函数]Oracle函数系列(2)--数学函数及日期函数 1 BLOG文档结构图 2 前言部分 2.1 导读和注意事项 各位技术爱好者,看完本文后,你可以掌握如下的技能,也可以学到一些其它你所不 ...
- 汉字转拼音的Oracle函数
前言: 最近处理一个特殊的问题,需要用到汉字自动转换拼音的功能. 解决: 在这里找了不少资料,都是有所缺陷,而且也好像很绕.其实是一个很简单的东东.后来还是自己写了一个函数获取.分享出来,给有需要的X ...
- 【函数】Oracle函数系列(1)--字符函数
[函数]Oracle函数系列(1)--字符函数 1 BLOG文档结构图 2 前言部分 2.1 导读和注意事项 各位技术爱好者,看完本文后,你可以掌握如下的技能,也可以学到一些其它你所不知道的知识 ...
- 常用的WinAPI函数整理
常用的WinAPI函数整理 一.进程 创建进程: CreateProcess("C:\\windows\\notepad.exe",0,0,0,0,0,0,0,&s ...
- oracle函数,游标,视图使用总结0.000000000000000000001
oracle函数或者叫存储过程,在实际的开发过程中对于复杂的业务需求是非常有用的,非常有效率的也是非常好玩儿的一个技术点. 平常在开发过程中对于CRUD功能较多.一般SQL即可应付,大不了就是长一点而 ...
- NiosII常用函数整理
NiosII常用函数整理 IO操作函数函数原型:IORD(BASE, REGNUM) 输入参数:BASE为寄存器的基地址,REGNUM为寄存器的偏移量函数说明:从基地址为BASE的设备中读取寄存器中偏 ...
- PHP清理跨站XSS xss_clean 函数 整理自codeigniter Security
PHP清理跨站XSS xss_clean 函数 整理自codeigniter Security 由Security Class 改编成函数xss_clean 单文件直接调用.BY吠品. //来自cod ...
- Python内置的字符串处理函数整理
Python内置的字符串处理函数整理 作者: 字体:[增加 减小] 类型:转载 时间:2013-01-29我要评论 Python内置的字符串处理函数整理,收集常用的Python 内置的各种字符串处理 ...
随机推荐
- bzoj 3309
奇怪的莫比乌斯反演... 题意:定义$f(n)$表示将$n$质因数分解后质因子的最高幂次,求$\sum_{i=1}^{a}\sum_{j=1}^{b}f(gcd(i,j))$ 首先肯定是反演嘛... ...
- Selenium+Python上传文件方法大全
转自:https://www.jianshu.com/p/fba37cc5d5e2
- requests模块之post请求传参json和data区别
post请求参数到底是传data还是json,此时要看请求头里的content-type类型 请求头中content-type为application/json, 为json形式,post请求使用js ...
- 六、js创建页码器:分页、上一页下一页、省略页码
表格数据太多,需要做成分页.因此需要写一个页码器. 1,初始化页码 获取数据之后渲染页码器,页码器初始化,小于6页的全部展示,否则展示前四页,后面是省略号,最后展示尾页.默认选中第一页,禁用前一页的箭 ...
- springboot 日志处理
引言 springboot框架集成logback日志 logback是由log4j创始人设计的又一个开源日志组件.目前,logback分为三个模块:logback-core,logback-class ...
- 字符过滤流 对象流---->ObjectInputStream : 用法
1创建字输入节点流FileInputStram fis = new FileInputStream("读入的文件的路径");2创建对象输入过滤流 包装字节流ObjectInputS ...
- 递推(dp)纪中真题
前言: 日月如梭,光阴似箭.大家好,我盛艺承又回来了.今天给大家讲一下纪中的DP(递推)真题. 题目描述 在网格中取一个N x 1的矩形,并把它当作一个无向图.这个图有2(N+1)个顶点,有3(N-1 ...
- 批量cp时中断,原来是被cp的alias干扰了
背景 批量复制一批数据的质控结果的时候,由于表格中出现一个重复项,导致卡在是否覆盖的提示这里 结果该重复项之后的样本都没有复制成功,差点就漏掉一部分样本啊-- cat ../sampleList|wh ...
- Crypto入门 (三)Morse
前言: Morse电码(Morsecode)是大家耳熟能详的编码方式,很多人都误认为它是一种加密方式,但其实它是一种编码,因为它并不存在密钥.在只能使用电报长短音传递信息的条件下,使用摩斯电码是为了方 ...
- EurekaServer高可用搭建
生产环境中需要搭建集群达到高可用.eurekaServer每个实例可以注册到其他一个或多个eurekaServer实例中达到高可用.配置比较简单 比如: application-master.prop ...