首页 > 数据库 >Oracle数据库入门第三课(函数)

Oracle数据库入门第三课(函数)

时间:2024-03-26 18:59:23浏览次数:26  
标签:sysdate 入门 日期 dual Oracle 第三课 trunc select 函数

前面二白讲了一些简单的查询语句,仅仅知道查询语句的语法是不够的,要想实现更多的需求,更重要的是函数的使用,这节课我们简单说一下一些函数的使用。

一、函数的分类

什么叫做函数?

函数就是用来实现某种功能的,提前声明好的代码块

分类:

•系统函数 

        ‣单行函数

                •数值函数

                •字符函数

                •日期函数

                •转换函数

                •通用函数

        ‣聚合函数

        ‣分析函数

•自定义函数

‣单行函数     一次只影响一行  

        •数值函数   他是适用于数值型的数据

        •字符函数   他是适用于字符型的数据

        •日期函数   他是适用于日期型的数据  

        •转换函数   他是适用于各种数据类型之间的转换  

        •通用函数   他是适用于任何数据类型

二、数值函数

1. ABS(数)  绝对值     返回值:数值型

select abs(-1)
from dual

2.MOD(数1,数2)   取余  返回值:数值型

数1除以数2的余数

select mod(5,2)
from dual

注:特殊用法

(1):判断奇偶数

任何数和2取余,结果为1则表示他是奇数,否则就是偶数

(2):提取小数部分
select mod(3.52,1)
from dual

(3):数2为负数还是正数对结果的正负情况没有影响,结果的情况,只跟数1的正负有关
select mod(3.52,-1),mod(-3.52,1)
from dual

3.CEIL(数)   向上取整   往大了取,取最近的整数    返回值:数值型

4.FLOOR(数)  向下取整   往小了取,取最近的整数    返回值:数值型

select ceil(3.14),floor(3.14),
       ceil(-3.14),floor(-3.14)
from dual

5.ROUND(数1[,数2])  四舍五入    返回值:数值型

数1四舍五入保留数2位小数

数2不写,默认保留到整数

select round(3.1415926,2),
       round(3.1415926,3),
       round(1614.520,-3),
       round(3.5415)
from dual

6.TRUNC(数1[,数2])  截断       返回值:数值型

数1截断到保留数2位小数

数2不写,默认保留到整数

select trunc(3.1415926,2),
       trunc(3.1415926,3),
       trunc(1614.520,-3),
       trunc(3.5415)
from dual

7.SIGN(数)   判断正负零 

如果数为正数则返回1,负数返回-1,零返回0      返回值:数值型

select sign(-100),sign(100),sign(0)
from dual

8.POWER(数1,数2)   次方和开方     返回值:数值型

数1的数2次方

select power(2,3),power(2,-3),power(2,1/3)
from dual

三、日期函数

1.sysdate   返回系统时间

select sysdate
from dual

2.日期计算的规则

日期加减数字=日期加减天数

日期-日期=日期相差的总天数

select sysdate+3
from dual

select date'2024-3-26' - date'2022-11-4'
from dual

3.add_months(日期,数字)    日期加减数字个月

select add_months(sysdate,-3)
from dual

4.months_between(日期1,日期2)  日期之间相差的总月数

select months_between(date'2024-3-26',date'2024-1-1')
from dual

5.next_day(日期,星期几|数字)      

求下一个星期几        一周之初是星期日

select next_day(sysdate,'星期一'),
       next_day(sysdate,'2')
from dual

练习:求下一周的星期三

先求到本周日,再求本周日的下一个星期几

select next_day(next_day(sysdate-1,1),4)
from dual

6.last_day(日期)            返回日期的月末

select last_day(sysdate)
from dual

trunc:截断日期  也可以用来取整或取加小数点后几位

按照日期格式,将日期截断到日期格式之初


yyyy                       年

mm                         月

dd                         日

hh|hh24                    小时

mi                         分钟

ss                         秒

q                          季度

语法:

trunc(日期,格式)

select trunc(sysdate,'yyyy'),
       trunc(sysdate,'mm'),
       trunc(sysdate+18,'q')
from dual

本章函数还是有点难度的,有一些经典的例题,有兴趣的同学可以尝试一下

1.求下周的星期几

2.求平闰年

3.求几岁几月零几天

这里二白就先不演示代码了

标签:sysdate,入门,日期,dual,Oracle,第三课,trunc,select,函数
From: https://blog.csdn.net/weixin_63511098/article/details/137054131

相关文章

  • 【CMake】CMake从入门到实战系列(三)——CMake常用指令
    文章目录一、out-of-source构建二、指令详解1、add_library【1】基本语法【2】参数含义【3】示例2、target_link_libraries【1】基本语法【2】参数含义【3】示例3、link_directories【1】基本语法【2】参数含义【3】示例4、include_directories【1】基本语法【2】参......
  • ArcGIS Desktop使用入门(二)常用工具条——地理配准
    系列文章目录ArcGISDesktop使用入门(一)软件初认识ArcGISDesktop使用入门(二)常用工具条——标准工具ArcGISDesktop使用入门(二)常用工具条——编辑器ArcGISDesktop使用入门(二)常用工具条——数据驱动页面ArcGISDesktop使用入门(二)常用工具条——基础工具ArcGISDesktop......
  • Oracle导出数据库与还原
    导出部分1.获取到Oracledirectory目录与实际电脑目录的映射2.CMD导出Oracle数据库DMP文件//expdp用户/密码@数据库监听地址schemas=表空间名称dumpfile=自定义名称.dmpdirectory=DATA_DIR(上面SQL中DIRECTORY_NAME选择一个导出的文件就会在对应的DIRECTORY_PATH......
  • python入门教程(非常详细),从零基础入门到精通,看完这一篇就够了
    本文罗列了了python零基础入门到精通的详细教程,内容均以知识目录的形式展开。01.python由来与发展介绍02.项目开发流程第一章markdown编辑器01.markdown基本语法02.Typora简介与安装03.Windows上gitee+Typora设置图床04.macOS上gitee+Typora设置图床第二章计算机......
  • 如何才能Python快速入门?
    无论是哪种编程语言,最开始往往是最难的,那么今天,我就来谈谈如何才能快速入门python编程。设定目标如果你学python是想找工作的话,可以先看看对于python程序员的相关招聘要求,比如这是我在某网找到的一个有关初级Python程序员的招聘要求,可以看看:熟悉Python及常用的Web开发框......
  • 别再花钱报班了,这篇文章带你入门Python
    最近有许多小伙伴后台联系我,说目前想要学习Python,但是没有一份很好的资料入门。一方面的确现在市面上Python的资料过多,导致新手会不知如何选择,另一个问题很多资料内容也很杂,从1+1到深度学习都包括,纯粹关注Python本身语法的优质教材并不太多。刚好我最近看到一份不错的英文P......
  • .NET Emit 入门教程:第五部分:动态生成方法(MethodBuilder 与 DynamicMethod)
    前言:当我们涉及到在运行时生成和定义方法时,便需要使用到C#中的两个关键类之一:MethodBuilder 或 DynamicMethod。这两者都属于反射(Reflection.Emit)的一部分,允许我们以动态的方式创建方法。两者各有侧重,使用方式大体相同,本篇文章我们先介绍MethodBuilder,再介绍DynamicMethod,......
  • Oracle备份的几种方式
    原文出处:https://www.cnblogs.com/lcword/p/11775657.html 从物理与逻辑的角度来分类:从物理与逻辑的,备份可以分为物理备份和逻辑备份。物理备份:对数据库操作系统的物理文件(数据文件,控制文件和日志文件)的备份。物理备份又可以分为脱机备份(冷备份)和联机备份(热备份),前者是在关闭数......
  • [Oracle]细节与使用经验
    【版权声明】未经博主同意,谢绝转载!(请尊重原创,博主保留追究权)https://www.cnblogs.com/cnb-yuchen/p/18032041出自【进步*于辰的博客】纯文字阐述,内容比较干。并且,由于考虑到时间长了恐有所遗漏,便即兴记录,并没有对内容进行筛选、排序。因此,大家在阅读时可以直接Ctrl+F进行......
  • 根号数据结构与根号平衡入门指南
    本文为本人为应付学校科技节写的屑作。写得比较仓促,可能存在不严谨或错误之处,欢迎批评指正。在本文中若无特殊说明,\(n\)表示元素数量,\(m\)表示询问数量,\(V\)表示值域范围为\([1,V]\)。一、分块分块,即将数据划分为多个块,并在操作时对整个块进行整体处理的思想。分块并非一......