oracle数据库单行函数自定输出

SQL函数

函数是SQL的一个非常强大的特性
参数1
函数
参数2
参数3
结果值

1.对数据进行计算

2.修改单个数据项

3.操作行组的输出

4.格式化显示日期和数字

5.转换列数据类型函数

函数类型

1.单行函数只对单个行进行操作每行返回一个结果。
2.多行函数可以操作行组来为每组行提供一个结果。

单行函数

单行函数用于操作数据库项。它们接受一个或多个函数,并查询返回的没一行返回一个值。

1.可以返回,引用数据类型不同的数据值。
2.可用于select,where,and,order by;可以嵌套。
3.接受字符输入,可以同时返回字符或数字。
4.接受数字输入并返回值
5.日期:操作日期数据类型的值(months_between函数除外)

dual

dual表示一个伪表(虚拟表)是为了语法上的完整性

select * from dual

查询dual表的所有列(可以用dual表实验函数表达式)

大小写转换函数

转换字符串大小的函数

函数结果
lower()将选择参数转换为小写
upper ()将选择参数转换为小写
initcap()将选择参数转换首字母为大写

字符控制函数

函数结果含义
concat(‘hello,world’)helloworld将值连接在一起使用(只能使用两个参数)
substr(‘hello,world’,1,5)hello截取一个确定长度的字符
length(‘hello,world’)10显示字符的长度数值
instr(‘hello,world’,w)6查找指定字符的数字位置
lpad(‘sal’,10,’*’)*****24000使用字符表达式从左填充到指定字符长度
rpad(‘sal’,10,’*’)24000*****使用字符表达式从右填充到指定字符长度
replace(‘jack and jue’,‘j’,‘bl’)black and blue查找字符并替换
trim(‘x’xxxfrom’helloworldxxx’)helloworld从字符串中修剪开头或结尾字符

数值函数

函数结果含义
round(45.926,2)45.93四舍五入到制定的十进制值
trunc(45.926,2)45.92截断到制定十进制值
mod(1600,300)100返回余数(1600/300)

sysdate函数

sysdate是一个日期函数,它返回当前数据库服务器的日期和时间。

修改当前日期格式

alter session set nls_date_format='yyyy-mm-dd hh24:mi:ss day';
select sysdate from dual;

日期的算术运算
在日期上加减数字结果仍为日期
两个日期相减返回日期之间的相差天数
可以用小时数除以24,可以加小时到日期上
因为数据库将日期储存为数字,所以可以使用加法和减法等算术运算符执行计算。可以加减数字和日期。

日期操作函数

函数结果
months_between两个日期相差的约束
add_months向指定日期中加上若干月数
next_day指定日期的下一个日期
last_day本月的最后一天
round日期四舍五入
trunc日期阶段

日期的运算

select sysdate+1 from dual; 1天以后
select sysdate,sysdate+1/24 from dual; 1小时后
select sysdate,sysdate+1/24/60 from dual; 1分钟后
months_between

时间运算函数,相减结果 为月份

select empno,ename,sal, months_between(sysdate,hiredate) months 
from emp;

add_months
日期增加月份

select sysdate,add_months(sysdate,1) from dual; 一个月后的现在
select sysdate,add_months(sysdate,-12) from dual; 一年前

next_day下一个

select next_day(sysdate,'MONDAY') from dual; 下周一 (当前时间)

last_day 日期增加月份

select sysdate,last_day(sysdate) from dual;

last_day 日期增加月份

select sysdate,trunc(sysdate) from dual; 今天
select sysdate,trunc(sysdate,'dd') from dual; 零点
select sysdate,trunc(sysdate,'mm') from dual; 本⽉的第⼀天
select sysdate,trunc(sysdate,'yyyy') from dual; 今年的第⼀天片
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值