首页 > 经验记录 > Oracle常用函数

Oracle常用函数

字符串函数

NO

函数名称

描述

1 字符串 UPPER(列 | 字符串) 将传入的字符串变为大写字母形式
2 字符串 LOWER(列 | 字符串) 将传入的字符串变为小写字母形式
3 字符串 INITCAP(列 | 字符串) 开头首字母大写,其他小写
4 字符串 LENGTH(列 | 字符串) 取得指定字符串的长度
5 字符串 SUBSTR(列 | 字符串,开始索引,[长度]) 进行字符串的截取,如果没有指定长度则从开始索引一直截取到结尾
6 字符串 REPLACE(列|字符串,旧内容,新内容) 将指定字符串的数据以新数据替换旧数据

 

SUBSTR函数注意:Oracle中的索引从1开始,就算输入的是0,程序也会按照1的方式进行处理

查询所有员工名字的的后三位: SELECT ename,SUBSTR(ename,LENGTH(ename)-2) FROM emp;

SUBSTR函数也能设置负数,例如: SELECT ename,SUBSTR(ename,-3) FROM emp;也能查询员工名字的后三位,此类设置方式只有Oracle数据库才有


数值函数

NO 函数名称 描述
1 数字 ROUND(列 | 数字 [,小数位]) 实现数据的四舍五入,可以设置保留的小数位
2 数字 TRUNC(列 | 数字[,小数位]) 实现数据的截取,即不进位
3 数字 MOD (列 | 数字,列 | 数字) 求模(计算余数)

 

         ROUND函数:如果没有设置小数点的保留位数,那么会直接不保留小数直接进位。

                   可以设置为负数,如果设置为负数,那么就表示进行整数位的进位处理,四舍五入

         TRUNC函数:和ROUND函数的的实用形式上差别不大,唯一的区别在于TRUNC不会四舍五入,他是直接抹除


日期函数

想要处理一个日期,就要知道当前的日期是什么,Oracle专门提供了一个伪列:

                   SYSDATE、                                    SYSTIMESTAMP

日期的操作公式

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

         对于日期而言,由于每月天数不同, 如果直接使用天数来实现年或月的计算,那么结果一定是不准确的

所以为了准确的进行日期操作,在Oracle里提供有四个日期处理函数

 

NO 函数名称 描述
1 日期ADD_MONTHS(列 | 日期,月数) 在指定的日期上增加若干个月之后的日期
2 数字 MONTHS_BETWEEN(列 | 日期,列 | 日期) 返回两个日期之间的所经历的月数
3 日期 LAST_DAY(列 | 日期) 取得指定日期所在月的最后一天
4 日期 NEXT_DAY(列 | 日期,星期X) 返回下一个指定的一周时间数对应的日期

 

    ADD_MONTHS函数:在进行月数增加的时候是不会限制数据的大小的

 


转换函数

NO 函数名称 描述
1 字符串 TO_CHAR(列 | 日期 | 数字,转换格式) 将日期或数字格式化为指定格式的字符串
2 日期 TO_DATE(列 | 字符串, 转换格式) 按照指定的转换格式编写字符串后将其变为日期型数据
3 数字TO_NUMBER(列 | 字符串) 将字符串变为数字

 

         TO_CHAR()函数:

         如果想要将一个日期或数字变为字符串,那么首先必须清楚转换格式

                   日期:年(yyyy)月(mm)日(dd)

                   时间:时(hh、hh24)分 (mi) 秒 (ss)

                   数字:任意数字(9)、本地货币符号(L)

使用TO_CHAR函数有一个强悍的功能,就是可以实现日期数据的拆分

例如:拆分出现在时间的年月日

SELECT TO_CHAR(SYSDATA,’yyyy’), TO_CHAR(SYSDATA,’mm), TO_CHAR(SYSDATA,’dd) FROM dual;


通用函数

NO 函数名称 描述
1 数字 NVL(列 | NULL默认值) 如果传入的内容是NULL,则使用默认数值处理,如果不是空则用原始数值处理
2 数据类型 DECODE(列 | 字符串 | 数值,比较内容1,显示内容1,比较内容2,显示内容2…[,默认显示内容]) 设置的内容会与每一个比较内容进行比较,如果内容相同,则会使用显示内容践行进行输出。如果都不相同,则使用默认内容

           


CAPTCHAis initialing...
EA PLAYER &

历史记录 [ 注意:部分数据仅限于当前浏览器 ]清空

      00:00/00:00