opengauss概述-基础知识篇-备考华为高斯

目录

🧨考前准备:

🎡数据库操作语言

✨OLTP和OLAP

🎯常用函数

 🧲字符处理函数

关于 left 和 right    

 特别重点的字符串函数

🧲数字操作函数

关于 ceil 和 floor

 🧲时间和日期处理函数

🧲几何函数


🧨考前准备:

🧨🧨🧨🧨高斯预约考试必备🧨🧨🧨🧨

注册华为ID的网址:https://e.huawei.com/cn/talent/portal/#/)

双证件:身份证+第二证件(军官证,驾照,信用卡,在校学生证,社保卡,有效期工作证)

🎡数据库操作语言

数据库操作语言
DDL(Data Definition Language)数据定义语言
DML(Data Manipulation Language)数据操作语言
DQL(Data Query Language)数据查询语言
DTL(Data Transaction Language)数据控制语言

原图

亿图图示icon-default.png?t=N7T8https://www.edrawmax.cn/online/share.html?code=4173096c07ce11ef9109ebf0f0121b46 

✨OLTP和OLAP

原图 

亿图图示icon-default.png?t=N7T8https://www.edrawmax.cn/online/share.html?code=12a56234049e11ef94adf9ef8352e1d6 

联机事务处理OLTP

OLTP是传统的关系型数据库的主要应用,事务性非常高的系统,一般都是高可用的在线系统,

小的事务以及小的查询为主,主要是基本的日常的事务处理,例如 银行交易。

OLTP 系统强调数据库内存效率,评估其系统的时候,一 般看其每秒执行的Transaction以及

Execute SQL的数量。 强调内存各种指标的命令率,强调绑定变量,强调并发 操作

联机分析处理OLAP

OLAP是数据仓库系统的主要应用,支持复杂的分析操作, 侧重决策支持,并且提供直观易懂的查

询结果。。

OLAP系统则强调数据分析,考核的标准往往是磁盘子系统的吞吐量(带宽),强调SQL执行时

长,强调磁盘 I/O,强调分区等。

🎯常用函数

常用函数
                          预置脱敏函数
                          字符串处理函数
                          数字操作函数
                        时间日期操作函数
                        类型转换函数
                         几何函数

预置脱敏函数(隐私数据保护)
动态数据脱敏机制是一种通过定制化制定脱敏策略从而实现对隐私数据保护的一种技术,可以有效地 在保留原始数据的前提下解决非授权用户对敏感信息的访问问题。
当管理员指定待脱敏对象和定制数据脱敏策略后,用户所查询的数据库资源如果关联到对应的脱敏策略时,则会根据用户身份和脱敏策略进行数据脱敏,从而限制非授权用户对隐私数据的访问。

   * creditcardmasking:对后四位之前的数字进行脱敏 
   * email:邮箱相关
   * full:全部
   * shuffle:洗牌 
   * maskall:全部脱敏 
*/

脱敏函数名示例
creditcardmasking'4880-9898-4545-2525' 将会被脱敏为'xxxx-xxxx-xxxx-2525',该函数仅对后4位之前的数字进行脱敏
basicemailmasking'abcd@gmail.com' 将会被脱敏为'xxxx@gmail.com'出现第一个'@'之 前的文本进行脱敏
fullemailmasking'abcd@gmail.com' 将会被脱敏为'xxxx@xxxxx.com',对出现最后一 个'.'之前的文本  (除'@'符外)进行脱敏
alldigitsmasking

'alex123alex' 将会被脱敏为'alex000alex',

仅对文本中的数字进行脱敏

shufflemasking序排列的方式实现,属于弱脱敏函数,语义较强的字符串不建议使用该函数脱敏
randommaskin

'hello word' 将会被脱敏为  'ad5f5ghdf5',

将文本按字符随机脱敏

maskall

'4880-9898-4545-2525'

将会被脱敏为'xxxxxxxxxxxxxxxxxxx'

 🧲字符处理函数

/**
   * char_length:获取字符串中的字符个数 
   * lengthb:获取指定字符串的字节数
   * rawcat:字符串拼接函数 
   * reverse:返回颠倒的字符串
   * left(str text, n int):返回字符串的前n个字符 
   * right(str text, n int):返回字符串的后n个字符 
*/
字符串常用处理函数
字符处理函数功能示例
char_length(string)字符串中的字符个数char_length('hello') 
//5
length(text/bpchar)获取指定字符串的字节数

lengthb('hello')  

//5

left(str text,n int)返回字符串的前n个字符。当n是负数时, 返回除最后|n|个字 符以外的所有字符。

left('abcde', 2)

// ab

right(str text,n int)返回字符串中的后n个字符。当n是负值 时,返回除前|n|个字 符以外的所有字符。right('abcde',  2) 
//de
lpad(string  text, 
length int [,  fill text])
通过填充字符fill(缺省时为空白),把 string填充为length长度。 如果string已经比length长则将其尾部断。lpad('hi', 5,  'xyza') 
//xyzhi
rpad(string  text, 
length int [,  fill text]
通过填充字符fill(缺省时为空白),把 string填充为length长度。 如果string已经比length长则将其尾部断。rpad('hi',  5,  'xy') 
hixyx
notlike(x  bytea 
name  text,  y  bytea text)
比较x和y是否不一致notlike(1,2) // t 
notlike(1,1) // f
rawcat(raw,raw)字符串拼接函数rawcat('ab','cd') 
//abcd
reverse(str)返回跌倒的字符串reverse('abcde') 
//edcba
关于 left right    

left 正数  如图所示left2

 left 负数

 right 正数

right 负数

 

 

 特别重点的字符串函数

instr(string1,string2,int1,int2)

查询对应原字符串匹配字符串的对应的索引值

overlay(string1 placing string2 FROM int1 [for int2])

将原字符串中需匹配替换字符串替换成对应字符串

substring(string [FROM int1] [for int2])

将原字符根据索引和字符条目个数截取相应字符串
replace(string text, FROM text, to text)将原字符串里出现(FROM text)所有字符串替换成(to text)字符串

原图

亿图图示icon-default.png?t=N7T8https://www.edrawmax.cn/online/share.html?code=dca0930209c511ef84030bfa047a2703

🧲数字操作函数

/**
   * ceil(x):不小于参数的最小整数,ceil(-42.8)  结果为    -42 
   * floor(x):不大于参数的最大整数,ceil(-42.8)  结果为    -43 
*/

数字操作函数
数字操作函数功能示例
ceil(x)不小于参数的最小的整数

ceil(-42.8)

// -42

floor(x)不大于参数的最大整数

floor(-42.8)

//-43

log(x)以10为为底的对数

log(100.0)

//2.0000000000000000

div(y numeric , x numeric)y除以x的商的整数部分

div(9,4)

//2

trunc(x)截断(去整数部分)

trunc(42.8)

//42

cbort(dp)立方根

cbrt(27.0)

//3

mod(x,y)x/y的余数(模) 如果x是0,则返回0

mod(9,4)

//1

power(a double precision,

b double precision)

a的b次幂

power(9.0,3.0) 

// 729.0000000000000000

关于 ceil floor

时间日期操作函数

时间和日期操作符 + 

postgres=# SELECT date '2021-5-28' + integer '7' AS RESULT;  
result
-----
2021-06-04 00:00:00

时间和日期操作符 -

postgres=# SELECT date '2021-05-01' - date '2021-04-28' AS RESULT; 
result
----- 
3 days

 🧲时间和日期处理函数

时间和日期函数
时间和日期函数功能示例
age(timestamp, timestamp)将两个参数相减,并以年、月、日作 
为返回值。 若相减值为负,则函数 
返回亦为负,入参可以 都带
timezone或都不带timezone。

age(timestamp  '2020-05-04', timestamp 
'2000-01-01') 

//20年5月3日

age(timestamp)当前时间和参数相减,入参可以带或 
者不带  timezone。

age(timestamp '2000-01-01') 

假设现在是2024-5-4日

//24 年 5月 3日

current_date当前日期

current_date

//2024-05- 04

date_part(text, 
timestamp)
获取日期/时间值中子域的值,例如年或者小时  的值

date_part('hour', 
timestamp  '2000-05-04 20:38:40') 

//20

trunc(timestamp)默认按天截取trunc(timestamp
'2024-05-04  20:38:40') 
//2024-05-04 00:00:00
sysdate当前日期及时间

sysdate 

//2024-05-04-12:34:89

justify_days(interval)将时间间隔以月(30天为一月)为单 
位。

justify_days(interval 
'35 days')  

//1 mon  5 days

pg_sleep(seconds)服务器线程延迟时间,单位为秒pg_sleep(10
last_day(d)用于计算时间点d当月最后一天时间

last_day(to_date('2024- 
05-01',  'YYYY-MM-DD')) 

//2024-05-04  00:00:00

类型转换函数

/**
   * cast(x as y): 将    x 转换为    y 指定的类型
   * hextoraw(string):十六进制转二进制
   * rawtohex(string):二进制转十六进制
   * convert_to_nocase(text, text):转换编码
   * numtoday(numeric): 将数字类型的值转为指定格式的时间戳 
*/

 

类型转换函数功能示例
cast(x as y)类型转换函数,将x转换成y指定的类型cast('22-oct-1997' as timestamp) 
//1997-10-22 00:00:00
hextoraw(String)将一个十六进制的字符串转换成二进制

hextoraw('7D')

//7D

numtoday(numeric)将数字类型的值转换为指定 
格式的时间戳

numtoday(2)

//2 days

pg_systimestamp()获取系统时间戳

pg_systimestamp()

//2024-05-04 
11:21:28.317367+08

rawtohex(string)将二进制构成的字符串转换成十六进制的字符串rawtohex('1234567') 
//31323334353637
to_bigint(varchar)将字符类型转换为bigint类 型。to_bigint('123364545554455') 
//123364545554455
to_timestamp(text, 
text)
将字符串类型的值转换为指 
定格式的时间戳。

to_timestamp('05 Dec 2000', 'DD 
Mon YYYY')

//2000-12-05 00:00:00

convert_to_nocase(text, 
text)
将字符串转换为指定的编码类型。convert_to_nocase('12345', 'GBK') 
// \x3132333435

🧲几何函数

 

/**
   * area: 面积
   * center:中心
   * height:高度
   * width:宽度
   * path:路径
   * radius:半径
   * circle:圆
   * polygon:多边形
   * point:顶点
*/

 几何函数

几何函数功能示例
area(object)计算图形面积

area(box'((0,0),(1,1))')

//1

cener(object)计算图形的中心

center(box'((0,0),(1,2))')

//(0.5,1)

diameter(circle)计算圆的直径

diameter(circle'((0,0),(2,0))')

//4

height(box)矩形的竖直高度

height(box'((0,0),(1,1))') 

//1

isclose(path)图形是否为闭合路径

isclose(path'((0,0),(1,1)),(2,0))')

//t

isopen(path)图形是否为开放路径

isopen(path'[(0,0),(1,1)),(2,0)]')

//t

length(object)计算图形长度

length(path'((-1,0)),(2,0))')

//3

npoints(path)计算路径的顶点数

npoints(path'((0,0)),(1,1),(2,0))')

//3

npoints(polygon)

计算多边形的顶点数

npoints(polygon'((0,0)),(1,1)')

//2

pclose(parh)把路径装转换成闭合路径

pclose(path'[(0,0),(1,1)),(2,0)]')

//((0,0),(1,1),(2,0))

popen(path)把路径装转换成开放路径

popen(path'((0,0),(1,1)),(2,0))')

//[(0,0),(1,1),(2,0)]

radius(circle)计算圆的半径

radius(circle'((0,0),(2,0))')

//2

width(box)计算矩形的水平尺寸

width(box'((0,0),(1,1))')

//1

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/591933.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

自定义类型:联合体

1.联合体 首先我们还是要讲解一下什么是联合体: 联合体(Union)是一种特殊的数据结构,它允许在相同的内存位置存储不同的数据类型。联合体的大小等于其最大成员的大小,因为所有成员共享同一块内存空间。联合体的每个成…

【C语言】详解预处理

、 最好的时光,在路上;最好的生活,在别处。独自上路去看看这个世界,你终将与最好的自己相遇。💓💓💓 目录 •✨说在前面 🍋预定义符号 🍋 #define • 🌰1.#define定义常…

Oracle对空值(NULL)的 聚合函数 排序

除count之外sum、avg、max、min都为null,count为0 Null 不支持加减乘除,大小比较,相等比较,否则只能为空;只能用‘is [not] null’来进行判断; Max等聚合函数会自动“过滤null” null排序默认最大&#xf…

【STL】map和set的原理及其使用

文章目录 关联容器键值对setset的介绍set的使用set的构造函数声明1:函数声明2:函数声明3: set的迭代器begin和endrbegin和rend set的容量empty()size() set的修改操作inserteraseclearfindcount mapmap的介绍map的构造…

拼多多怎么推广才有效果

拼多多店铺的有效推广需要综合考虑多个方面,包括优化店铺信息、商品详情、参与平台活动、利用社交媒体、精准营销和客户服务等。具体如下: 拼多多推广可以使用3an推客。3an推客(CPS模式)给商家提供的营销工具,由商家自…

Go Web 开发【Gin 框架快速开发】

1、Gin Web 快速开发 1.1、环境准备 1.1.1、导入 gin 依赖 这里就叫 gin 依赖了,在 Goland 命令行中输入下面的命令: go get -u github.com/gin-gonic/gin 1.1.2、设置代理 如果下载失败,最好设置一下代理,在 cmd 命令行中输…

功能测试_分类_用例_方法

总结 测试分类 按阶段分类 是否查看源代码分类 是否运行分类 是否自动化 其他分类 软件质量模型 开发模型-瀑布模型 测试过程模型 v w 测试用例八大要素 用例编号 用例标题 …

海外仓系统:为什么对小型海外仓企业尤为重要,该怎么看待wms系统

相对于大型海外仓企业来说,小型海外仓受到资金和规模的限制,在库存管理、订单处理能力上面临的问题尤其大。而这正是海外仓系统擅长的地方,现代的海外仓系统逐渐发展以云端部署方式为主,这也为小型海外仓企业提供了很多便利。 1、…

基于Pytorch深度学习——GPU安装/使用

本文章来源于对李沐动手深度学习代码以及原理的理解,并且由于李沐老师的代码能力很强,以及视频中讲解代码的部分较少,所以这里将代码进行尽量逐行详细解释 并且由于pytorch的语法有些小伙伴可能并不熟悉,所以我们会采用逐行解释小…

Java中的Lambda表达式

Lambda表达式的标准格式 格式:(形式参数)->{代码块} 形式参数:如果有多个参数,参数之间用逗号隔开 如果没有参数,留空即可 ->:由英文中画线和大于符号组成,固定写法。代表着…

学习中遇到的问题

1.UFUNCTION() 不是所有函数都能加UFUNCTION()修饰,涉及UE反射机制。 2.初始化用{} 初始化列表 3.创建C文件时修改了路径 这时.cpp文件会报错,只需删掉前面多余路径即可 4.函数的移除 1.虚幻5.1 UUserWidget不再包含OnLevelRemovedFromWorld() 转而使用…

微信CRM管理系统、企业个人微信号管理对接接口

接口地址: POST/login/getLoginQrCode appId参数为设备ID,首次登录传空,会自动触发创建设备,掉线后重新登录则必须传接口返回的appId,注意同一个号避免重复创建设备,以免触发官方风控 取码时传的appId需要…

python邮件发送

第一种方式 一:发送的邮件要设置授权码,通过邮箱邮箱授权码去验证,让邮件服务器帮我们去转发邮件到要接收的邮件,代码中的授权码,是需要登录126邮箱(我这里是以126邮件发送的,具体的以自己为准…

stm32f103c8t6学习笔记(学习B站up江科大自化协)-PWR电源控制

PWR简介 PVD可用在电池供电或安全要求比较高的设备,如果供电电压在逐渐下降,在电压过低的情况下可能会导致内外电路出现不确定的错误。为了避免不必要的错误,可以在电源电压过低的情况下,提前发出警告并关闭较为危险的设备 关闭的…

循环神经网络模块介绍(Pytorch 12)

到目前为止,我们遇到过两种类型的数据:表格数据和图像数据。对于图像数据,我们设计了专门的卷积神经网络架构(cnn)来为这类特殊的数据结构建模。换句话说,如果我们拥有一张图像,我们 需要有效地利用其像素位置&#xf…

专业渗透测试 Phpsploit-Framework(PSF)框架软件小白入门教程(三)

本系列课程,将重点讲解Phpsploit-Framework框架软件的基础使用! 本文章仅提供学习,切勿将其用于不法手段! 继续接上一篇文章内容,讲述如何进行Phpsploit-Framework软件的基础使用和二次开发。 当我们点击 submit 提…

【JavaEE 初阶(一)】初识线程

❣博主主页: 33的博客❣ ▶️文章专栏分类:JavaEE◀️ 🚚我的代码仓库: 33的代码仓库🚚 🫵🫵🫵关注我带你了解更多线程知识 目录 1.前言2.进程3.线程4.线程和进程的区别5.Thread创建线程5.1继承Thread创建线程5.2实现R…

非平衡数据处理-SMOTE Tomek算法(互联网最全)

作者Toby,来源公众号:Python风控模型,非平衡数据处理-SMOTE Tomek算法 之前Toby老师讲了非平衡数据处理相关知识,具体内容和链接如下。 imbalanced data机器学习非平衡数据处理 Python非平衡数据处理_SMOTE-ENN 方法 非平衡数…

【SSM进阶学习系列丨分页篇】PageHelper 分页插件导入集成实践

文章目录 一、说明什么是分页PageHelper介绍 二、导入依赖三、集成Spring框架中四、编写Service五、编写Controller六、编写queryAllByPage页面展示数据 一、说明 什么是分页 ​ 针对分页,使用的是PageHelper分页插件,版本使用的是5.1.8 。 ​ 参考文档…

虚拟机网络实现桥接模式

虚拟机网络实现桥接模式 虚拟化软件:VMware 17 Linux:rocky8_9 主机:Win10 文章目录 虚拟机网络实现桥接模式1. 桥接模式介绍2. 查看Win本机的网络信息(以笔记本电脑以WiFi联网为例&#x…