sword oracle,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…[,默认显示内容])

设置的内容会与每一个比较内容进行比较,如果内容相同,则会使用显示内容践行进行输出。如果都不相同,则使用默认内容

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值