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

    xiaoxiao2025-07-27  14

    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; 今年的第⼀天片
    最新回复(0)