(ORACLE)PL/SQL 函数的使用

字符函数

lower(char):将字符串转换为小写

upper(char):将字符串转换成大写格式

length(char):返回字符串的长度

substr(char,m,n):取字符串的子串(截取字符串中的某一段)

m表示起始位置,n表是从m位置开始,取几个字符

replace(char,m,n):替换字符串中的内容,m为原内容,n为替换内容

将emp表中的ename字段以小写的方式输出

select lower(ename) from emp;

在这里插入图片描述

将emp表中的ename字段以大写的方式输出

select upper(ename) from emp;

在这里插入图片描述

找出emp表中名字长度为的5的员工信息

select * from emp where length(ename) = 5;

在这里插入图片描述

显示所有员工姓名的前三个字符

select substr(ename,1,3) from emp;

在这里插入图片描述

将员工首字母变成大写,后面的部分小写显示

select upper(substr(ename,1,1))||lower(substr(ename,2)) ename from emp;

在这里插入图片描述

将员工姓名中有A的员工的‘A’替换成‘我是老A!’

select replace(ename,‘A’,‘我是老A!’)from emp;

扫描二维码关注公众号,回复: 4568773 查看本文章

在这里插入图片描述

数学函数

数学函数的输入参数和返回值类的数据类型都是数字类型的

round(n,[m])

该函数用于执行四舍五入,如果省略掉m,则四舍五入到整数,如果m为正数,则四舍五入到小数点m的后一位,如果m是负数,则四舍五入到小数点的m位前

trunc(n,[m])

该函数用于截取数字,如果省略掉m,就截去小数部分,如果m是正数就截取到小数点的m位后,如果m是负数,就截取到小数点的前m位

mod(m,n)

floor(n)

向下取整

ceil(n)

向上取整

日期函数

日期函数用于处理date类型的数据

默认情况下 日期格式是dd-mon-yy 即 15-7月-86

sysdate 该函数返回系统时间

查询当前系统时间

select sysdate from dual;

在这里插入图片描述

add_months(n,m)

获取某一时间节点,括号里往后N个月份的时间,如果是负数,就是该日期节点往前N个月份的时间。

获取emp表中 入职满10年的员工信息

当前系统时间大于等于入职时间往后加120个月的时间的就是入职满10年的。

select ename,hiredate from emp where sysdate >= add_months(hiredate,120);

在这里插入图片描述

获取所有员工入职到目前为止的天数

当前系统时间减去员工入职时间,就是到目前为止的天数,这里有毫秒值,所以可以使用trunc()函数,去除小数点之后的位数获得一个整数

select trunc(sysdate - hiredate) day from emp;

在这里插入图片描述

last_day()

得到指定日期所在月份的最后一天的日期

获取入职日期是当月倒数第三天的员工

当月最后一天的日期减2就是该月倒数第三天的日期

select ename,hiredate,last_day(hiredate) from emp where hiredate >= last_day(hiredate)-2;

在这里插入图片描述

转换函数

to_date

to_char

系统函数

sys_context

用于查询返回相应的系统信息

terminal:当前会话客户端所对应的终端标识符

lanuage:语言

db_name:数据库名称

nls_date_format:当前会话客户所对应的日期格式

session_user:当前会话所对应的数据库用户名

current_schema:当前会话客户对应的方案名

host:返回数据库所在的主机名称

通过dual伪表来显示信息

userenv是固定格式后边的内容可以变,userenv,固定不变

查询数据库名称

select sys_context(‘userenv’,‘db_name’) from dual;

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/NONAME999/article/details/85084006