当前位置: 首页 > news >正文

数据库(二) Oracle篇

Oracle SQL常用函数

概述

SQL函数有单行函数和多行函数,其区别为:

  • 单行:输入一行,返回一行,如字符、数字、转换、通用函数等
  • 多行:输入多行,返回一行,也称为分组函数、组函数、聚合函数,且多行函数会自动滤空

单行函数

字符函数

  • CONCAT(X,Y): 连接字符串X和Y
  • INSTR(X,STR): 后面STR在前面字符串X第一次出现的位置,一般用于判断STR是否存在于X中,若存在,则结果肯定大于0,否则结果为0表示不存在
  • LOWER(X): X转换成小写
  • UPPER(X): X转换成大写
  • INITCAP(X): X转换首字母大写

数字函数

  • ROUND(X[,Y]): 四舍五入
    • 在缺省y时,默认y=0;比如:ROUND(3.56)=4
    • y是正整数,就是四舍五入到小数点后y位。ROUND(5.654,2)=5.65
    • y是负整数,四舍五入到小数点左边|y|位。ROUND(351.654,-2)=400
  • TRUNC(x[,y]): 直接截取取整,不进行四舍五入
    • 在缺省y时,默认y=0;比如:TRUNC(3.56)=3
    • Y是正整数,就是四舍五入到小数点后y位。TRUNC (5.654,2)=5.65
    • y是负整数,四舍五入到小数点左边|y|位。TRUNC (351.654,-2)=300

转换函数

转换函数将值从一种数据类型转换为另外一种数据类型。常见的转换函数有

  • TO_CHAR(d|n[,fmt]): 把日期和数字转换为制定格式的字符串。Fmt是格式化字符串
    • TO_CHAR对日期的处理
      • SELECT TO_CHAR(SYSDATE,'YYYY"年"MM"月"DD"日" HH24:MI:SS')"date" FROM dual;
  • TO_DATE(X,[,fmt]): 把一个字符串以fmt格式转换成一个日期类型
  • TO_NUMBER(X,[,fmt]): 把一个字符串以fmt格式转换为一个数字

通用函数

  • NVL函数: 将空值转换为已知值,可以使用的数据类型为:数字、日期、字符,数据类型必须匹配
  • NVL2(expr1,expr2,expr3): 如果参数1非空not null,则返回参数2的值,否则返回参数3的值
  • 条件表达式:在使用if-then-else逻辑时可以通过如下两种方式表示
    • decode: 条件表达式,在使用if-then-else逻辑时可以通过decode(col/expression,search1,result1,search2,result2,....,,.........,default)
    • case expr when comparison_expr1 then return_expr1 when comparison_expr2 then return_expr2... else_expr

多行函数

嵌套函数distinct

distinct可用来过滤掉多余的重复记录只保留一条,但往往只用它来返回不重复记录的条数,而不是用它来返回显示不重记录的所有值。一般和count配合使用,作为统计非空且不重复的记录数

SELECT COUNT(DISTINCT(Column)) FROM TableName;

注意:DISTINCT关键字效率会比较低,如果仅仅是为了显示不重复的记录,建议使用group by,
因为distinct只有用二重循环查询来解决,而这样对于一个数据量非常大的表来说,无疑是会直接影响到效率的

其他

开发扩展

  • || 连接符,在连接符中的字符串或者日期必须使用单引号,不能使用双引号;
  • escape转义字符,用于特殊字符查询
    • select * form table where column like '%#_%' escape '#‘,用于查询包含_字符的数据
  • 在Oracle中,join=inner join,left join=left outer join,right join=right outer join

Oracle与Mysql区别

  • 数据类型方面
    • Oracle支持更多的数据类型,包括blob、clob、nclob、bfile等,MySQL则没有这些类型
  • 存储引擎方面
    • Oracle支持多种存储引擎,MySQL也是如此,但是Oracle默认的存储引擎是ACID-compliant的,而MySQL默认使用的是不具备ACID特性的MyISAM存储引擎
  • 查询优化方面
    • Oracle具有更加成熟的查询优化器,能够更好的处理复杂查询,MySQL则需要手动进行查询优化

相关文章:

数据库(二) Oracle篇

Oracle SQL常用函数 概述 SQL函数有单行函数和多行函数,其区别为: 单行:输入一行,返回一行,如字符、数字、转换、通用函数等多行:输入多行,返回一行,也称为分组函数、组函数、聚合函数,且多行函数会自动滤空 单行函数 字符函数 CONCAT(…...

TDengine函数大全-目录

TDengine函数大全 详情见具体页面,点击进入。 1.数学函数 ABSACOSASINATANCEILCOSFLOORLOGPOWROUNDSINSQRTTAN 2.字符串函数 CHAR_LENGTHCONCATCONCAT_WSLENGTHLOWERLTRIMRTRIMSUBSTRUPPER 3.转换函数 CAST TO_ISO8601TO_UNIXTIMESTAMPTO_JSON 4.时间和日期…...

代理模式之静态代理

代理模式是一种常见的设计模式,它允许一个对象(代理对象)代表另一个对象(真实对象)进行操作。在软件开发中,代理模式被广泛应用于各种场景,例如网络请求的代理、权限控制的代理等。 静态代理是…...

LeetCode——栈的压入、弹出序列

这里我用下面的例子子来讲解一下模拟栈的实现。 例子1:pushed [1,2,3,4,5] popped [4,5,3,2,1] 思路:第一步:我们先创建一个栈,然后将pushed的数据压进去 第二步:判断! 当压入栈的数据和popped第一个数据…...

Flutter 逆向安全

前言: 前几天在 "学习" 一个项目, 发现是用 Flutter 开发的。之前研究过 flutter 的逆向,早期 Flutter 有工具可以通过快照进行反编译:《对照表如下》 新的版本开发者没有维护了。 目前没有很好的工具 可以对 Flutter 进…...

【微服务部署】01-Kubernetes部署流程

文章目录 部署1. Kubernetes是什么2. Kubernetes的优势3. 环境搭建4. 应用部署 部署 1. Kubernetes是什么 Kubernetes是一个用于自动部署、扩展和管理容器化应用程序的开源系统 2. Kubernetes的优势 自动化容器部署资源管理与容器调度服务注册发现与负载均衡内置配置与秘钥…...

SPI3+DMA外设驱动-TFTLCD初始化

前言 (1)本系列是基于STM32的项目笔记,内容涵盖了STM32各种外设的使用,由浅入深。 (2)小编使用的单片机是STM32F105RCT6,项目笔记基于小编的实际项目,但是博客中的内容适用于各种单片…...

通过chatgpt 学习React的useEffect

定义: useEffect 是 React 中的一个 Hook,它用于处理函数组件中的副作用操作。副作用操作可以包括数据获取、订阅事件、定时器等。 useEffect 接受两个参数:第一个参数是一个回调函数,用于执行副作用操作;第二个参数…...

rabbitMq介绍及使用

点击跳转https://blog.csdn.net/qq_43410878/article/details/123656765...

rabbitmq载在.net中批量消费的问题记录

背景 最近遇到了一个问题,在使用rabbitmq的时候出现了丢消息、消息重复消费等一系列的问题,使用的是.net框架,背景是高并发压力下的mq消费,按理说即使队列中堆了几百条消息,我客户端可以同处理5个消息。 原因是多线程…...

【RPC 协议】序列化与反序列化 | lua-cjson | lua-protobuf

文章目录 RPC 协议gRPCJSON-RPC 数据序列化与反序列化lua-cjsonlua-protobuf RPC 协议 在分布式计算,远程过程调用(英语:Remote Procedure Call,缩写为 RPC)是一个计算机通信协议。该协议允许运行于一台计算机的程序调…...

Flutter的Timer类

文章目录 一、Timer简介Timer类的详细介绍导入dart:async包创建一个定时器取消定时器定时器的周期性执行注意事项 二、Semantics简介Flutter Semantics 的详细介绍SemanticsNode语义标签和标签形状语义属性自定义语义行为通过语义树导航 一、Timer简介 Flutter的Timer类是Dart…...

Chrome小恐龙快跑小游戏——Python实现

目录 视频演示 代码实现 视频演示 Chrome小恐龙快跑小游戏——Python实现 代码实现 import pygame import os import random pygame.init()# Global Constants SCREEN_HEIGHT 600 SCREEN_WIDTH 1100 game_over False SCREEN pygame.display.set_mode((SCREEN_WIDTH, SCR…...

Web网站服务器

目录 一、什么是Apache? 二、虚拟目录是什么? 三、Apcahe相关配置文件 四、httpd.conf主配置文件的常用配置参数 五、Web网站配置案例 5.1搭建基于用户的个人主页网站 5.2、配置虚拟目录 5.3、配置虚拟主机 5.3.1搭建两个基于IP地址的虚拟主机 5.3.2搭建两个基于域…...

Docker consul 容器服务自动发现和更新

目录 一、什么是服务注册与发现 二、Docker-consul集群 1.Docker-consul consul提供的一些关键特性 2.registrator 3.Consul-template 三、Docker-consul实现过程 以配置nginx负载均衡为例 先配置consul-agent ,有两种模式server和client 四、Docker-cons…...

CentOS 8 执行yum命令报错:Failed to set locale, defaulting to C.UTF-8

今天Docker新搞了一个CentOS镜像,在运行基于该镜像的容器,执行yum命令时,遇到了如下报错: [rootGC Administrator]# yum install -y yum-utils Failed to set locale, defaulting to C.UTF-8 CentOS Linux 8 - AppStream …...

8. 损失函数与反向传播

8.1 损失函数 ① Loss损失函数一方面计算实际输出和目标之间的差距。 ② Loss损失函数另一方面为我们更新输出提供一定的依据。 8.2 L1loss损失函数 ① L1loss数学公式如下图所示,例子如下下图所示。 import torch from torch.nn import L1Loss inputs torch.tens…...

Angular安全专辑之四 —— 避免服务端可能的资源耗尽(NodeJS)

express-rate-limit是一个简单实用的npm包,用于在Express应用程序中实现速率限制。它可以帮助防止DDoS攻击和暴力破解,同时还允许对API端点进行流控。 express-rate-limit及其主要功能 express-rate-limit是Express框架的一个流行中间件,它允许根据IP地址或其他标准轻松地对请求…...

Servlet学习总结(Request请求与转发,Response响应,Servlet生命周期、体系结构、执行流程等...)

Override 是Java中的注解(Annotation),它用于告诉编译器该方法是覆盖(重写)父类中的方法。当我们使用Override注解时,编译器会检查当前方法是否正确地覆盖了父类中的方法,如果没有覆盖成功&…...

雅思写作 三小时浓缩学习顾家北 笔记总结(二)

目录 饥饿网一百句翻译 Using government funds for pollution cleanup work can create a comfortable environment. "Allocating government funds to pollution cleanup work can contribute to the creation of a comfortable environment." Some advertise…...

算法实例分析:使数组相等的最小开销

使数组相等的最小开销通过题意分析可知要让所有值相等,必然不需要超出数据的最大最小值,因此左右边界可以预先缩小范围。然后根据我们上面的分析不断缩小搜索边界范围。关于函数的计算,只要统计所有数据与的差值再乘上权重即可。最后注意&…...

在多元市场中的数据角色招聘与面试

原文:towardsdatascience.com/the-two-sides-of-hiring-recruiting-vs-interviewing-for-data-roles-in-diverse-markets-f65b49990687 招聘桌两边的故事 我有在招聘桌两边的故事,有些是成功的,有些则不那么成功。 例如,我可以告…...

当 AI 学会“说谎“:大模型幻觉问题深度解析

一、真实案例:AI 是如何"一本正经胡说八道"的案例 1:美国顶级律所的 2000 美元/小时错误 2026 年 4 月,纽约联邦法院。 一家时薪超过 2000 美元的顶级律所,在提交给法官的法律文件中,引用了 6 个根本不存在的判例。 这些判例不仅有名有姓,还有完整的案号、判…...

Vue.js 版本全解析与 nvm 环境管理完全指南

前言:为什么需要了解这些?在前端开发的世界里,Vue.js 已经成为最受欢迎的框架之一。但在实际工作中,我们常常会面临两个问题:项目 A 需要用 Vue 2(为了兼容 IE11),项目 B 想用 Vue 3…...

2026亲测:专业AI智能降重工具选这款就对了

2026 年降 AIGC 工具已经从“基础语义改写”进化为多维度智能优化系统,核心评测指标涵盖 AI 痕迹清除精准度、学术表达一致性、格式结构完整性、长段落逻辑流畅性、降重适配范围以及高校检测合规性。本次测评覆盖 8 款主流工具,测试内容包括中英文论文处…...

AMD Ryzen终极调试工具:硬件级性能调优完全指南

AMD Ryzen终极调试工具:硬件级性能调优完全指南 【免费下载链接】SMUDebugTool A dedicated tool to help write/read various parameters of Ryzen-based systems, such as manual overclock, SMU, PCI, CPUID, MSR and Power Table. 项目地址: https://gitcode.…...

告别IBus!在Ubuntu 22.04上为Fcitx5安装搜狗输入法并设置自启动的完整流程

在Ubuntu 22.04上深度配置Fcitx5与搜狗输入法的现代输入方案 对于追求高效输入的Linux用户而言,输入法框架的选择往往决定了日常使用的流畅度体验。传统IBus框架虽然预装在大多数发行版中,但在中文输入场景下常显力不从心——词库更新滞后、云输入支持有…...

GD32F427以太网通信避坑指南:LAN8720的REF_CLK模式选择与SMI管理接口配置

GD32F427以太网通信避坑指南:LAN8720的REF_CLK模式选择与SMI管理接口配置 在嵌入式系统开发中,以太网通信的稳定性往往决定着整个产品的可靠性。GD32F427作为国产MCU的优秀代表,其内置的ENET控制器配合LAN8720 PHY芯片能够实现高效的网络通信…...

11 极物科技 JetLinks MQTT 直连设备功能调用完整流程与 Python 实现

1. 前言 JetLinks作为开源的IoT物联网平台,提供了完善的设备接入、物模型管理、功能调用等核心能力,其中MQTT协议是设备与平台直连的主流方式。本次测试以继电器设备为核心测试载体,继电器具备明确的“通/断”二元状态,且状态变更…...

Windows 11终极优化指南:使用Win11Debloat免费提升系统性能 [特殊字符]

Windows 11终极优化指南:使用Win11Debloat免费提升系统性能 🚀 【免费下载链接】Win11Debloat A simple, lightweight PowerShell script that allows you to remove pre-installed apps, disable telemetry, as well as perform various other changes …...