首页 > 其他分享 >orcale笔记05-函数

orcale笔记05-函数

时间:2022-11-22 19:46:07浏览次数:53  
标签:函数 05 str2 笔记 length num orcale str 字符串

1.聚合函数

  sum() 求和

  count() 计数

  max() 最大值

  min() 最小值

  avg() 平均值

2.数字相关

     abs(num) 绝对值

  round(num) 四舍五入

  trunc(num,pre) 按pre为小数精度,截取数字

  ceil() 向上取整

  floor() 向下取整

  mod() 取余

3.字符串相关

  substr(str,begin,length) 字符串截取,orcale中位置从1开始统计

       upper(str) 将字符串转化为大写

  lower(str) 将字符串转化为小写

  concat(str1,str2). 拼接两个字符串,多个字符串拼接使用"||"符号

  length(str) 求字符串的长度

  replace(str,reg,char) 替换字符串中的reg为char

  translate(str,reg_list,str2) 替换字符串中某一类型的字符为str2

  instr(str,find_str) 查找find_str第一次出现的位置

  ltrim(str,char) 去除字符串左边连续出现的字符,默认为空格字符

  rtrim(str,char) 去除字符串右边连续出现的字符,默认为空格字符

       trim(str) 只能去除字符串两边的空格

  lpad(str,total_length,str2) 给字符串左边填充str2至长度total_length

       rpad(str,total_length,str2) 给字符串右边填充str2至长度total_length

  wm_concat() 将固定的列合并为行,和over()开窗函数配合使用

  regexp_substr(str,regexp,begin,result_num) 使用正则表达式对字符串进行切割

4.日期类型

  sysdate:当前系统时间

  获取日期相隔天数,两个日期相减

  给当前日期坐偏移,直接加减天数

  months_between(d1,d2) 获取两个日期间隔的月份

  add_months(date,num) 给日期加月份

  last_day(date) 获取当前日期的月份的最后一天

  trunc(date,'时间格式') 获取某个日期第一天,常用于时间取整

5.数据类型转换

  to_number(str) 转数字,不能转的报错

  to_char(date) 将数据转化为字符串

  to_date(str) 将数据转换为时间类型

  nvl(colnm,value) 将某列的null转化为value

  nvl2(colnm,value1,value2) colnm不为空转为value1,为空value2

  decode(colunm,v1,d1,v2,d2,...dn) 将colunm的值v1,v2...转化为d1,d2...,其他值转为dn

 6.逻辑判断语句(逻辑判断语句多用于给查询结果添加一列结果,用于标记数据或统计结果)

       case

      when 判断条件1 then 执行结果1

    when 判断条件2 then 执行结果2

    ...

    else 执行结果n

  end

7.列转行,行转列

  pivot() 行转列

    povit(聚合函数() for 分组的列名 in (分组的内容,即分组的列选中的值))

  unpivot() 列转行

    unpivot(转化的后列名(对原表中数据新起的) for  转化的后列名(队员表中数据的字段名新起的) in  (原表中的字段名))

8.开窗函数 over()

  select 查询字段, 聚合函数 over(partition by 分组统计字段名 order by 排序字段名 asc|desc) from 表名

9.排名函数

  row_number():按照顺序,给每一行进行排序,遇到重复的不做处理

       rank():按照顺序排序,遇到有重复的产生并列排序,下一个顺序跳过占用名次

  dense_rank():遇到重复的并列排序,下一个顺序不跳过占用名次

  排序函数一般和开窗函数over()综合使用

10.平移函数

  lag(column,num):将查询的结果集的某列column在原表的基础上向下平移num个单位

  lead(column,num):向上平移

  平移函数主要做数据对比使用,比如经济问题中的同比环比

11.数据库的伪列

  rownum:在每次的查询结果中,都会对结果产生一个标识序列,就是伪列,使用伪列时必须从1去查询,不然没有结果

  rowid:对表中的数据的行进行唯一值的定义,用来确定数据的每一行在数据库中的位置,rowid不会重复,是一个唯一的标识,一般可以在数据库中去除重复的数据。

 

标签:函数,05,str2,笔记,length,num,orcale,str,字符串
From: https://www.cnblogs.com/bobo2/p/16906700.html

相关文章

  • PyTorch复现GoogleNet学习笔记
    PyTorch复现GoogleNet学习笔记一篇简单的学习笔记,实现五类花分类,这里只介绍复现的一些细节如果想了解更多有关网络的细节,请去看论文《GoingDeeperwithConvolutions》......
  • 51 nod 1056 最长等差数列 V2
    ​​1056 最长等差数列 V2​​基准时间限制:8 秒空间限制:131072 KB分值: 1280 ​​难度:9级算​​法题例如:13568910121314等差......
  • unittest学习笔记
    原文:https://www.cnblogs.com/miki-peng/p/12501341.html为什么要学习unittest按照测试阶段来划分,可以将测试分为单元测试、集成测试、系统测试和验收测试。单元测试是指......
  • 中科大嵌入式linux课程笔记01
    lesson1嵌入式系统主要概念课程简介课程目录参考书嵌入式系统结构和开发流程概念、特点、组成、硬件、软件、开发​ 嵌入式系统首先是一个计算机系统,后者有的技......
  • 网络流学习笔记
    前言:本人已做完网络流24题。0.基础:Dinic最大流/最小割:https://www.luogu.com.cn/blog/creationhy/dinicDinic费用流:https://www.luogu.com.cn/blog/creationhy/dinic-f......
  • 《如何用数据解决实际问题》读书笔记
    第一章:解决问题,你需要“流程”我们做数据分析首先是提出合理的问题,然后才是做出合理的假设,之后搜集需要的数据(或者相近的数据),对数据进行分析。数据分析不是数据游戏,它是......
  • 《Go 语言并发之道》读书笔记(四)
    今天这篇笔记我们记录sync包下面的Cond,Once和PoolCondcond就是条件,当条件不满足的时候等待Wait(),条件满足后,继续执行。通过Signal()和Broadcast()来通知wait结束,继续执......
  • 可撤销并查集学习笔记
    前言与可持久化并查集一起食用,效果更佳。前置知识:并查集以及并查集的按秩合并优化。例题引入你需要维护一棵\(n\)个点的动态森林,初始时是\(n\)个散点,有\(q\)个......
  • Linux笔记
    Linux操作系统的开机过程:从BIOS开始,然后进入BootLoader,再加载系统内核,然后内核进行初始化,最后启动初始化进程RHEL7采用​​​systemd​​初始化进程服务。checkdate......
  • 操作系统笔记——重要概念
    操作系统基础概念​​操作系统​​​(OperatingSystem,OS)是指控制和管理整个计算机系统的硬件和软件资源,并合理地组织调度计算机的工作和资源的分配,以提供给用户和其他软件......