华为GAUSS数据库常用的单行操作函数介绍

在这篇博客里面,主要是介绍华为高斯数据库,繁多的数据类型里面,常用的函数操作的方法,然后给大家写了每个函数的用法举例,欢迎留言补充。

字符串函数

trim() :去除字符串左右两边的指定字符,默认是去除空格

华为GAUSS数据库常用的单行操作函数介绍_第1张图片

substring(字符串, 开始序号, 连续长度)/substr() :截取指定字符串

华为GAUSS数据库常用的单行操作函数介绍_第2张图片

regexp_like(字符串, 正则表达式) :用正则表达式来搜索数据

例如查询名字中 王开头,中间有一个字,并且是五结尾的所有数据:

华为GAUSS数据库常用的单行操作函数介绍_第3张图片

再试一个查询符合手机号码规则的方法,现在要查找13开头或者18开头的11位纯数字的信息:

华为GAUSS数据库常用的单行操作函数介绍_第4张图片

concat() :拼接字符串

华为GAUSS数据库常用的单行操作函数介绍_第5张图片

concat_ws() :用符号拼接字符串

华为GAUSS数据库常用的单行操作函数介绍_第6张图片

lpad() / rpad(字符串, 总长度, 填充符号) :字符串的左右填充

华为GAUSS数据库常用的单行操作函数介绍_第7张图片

upper() / lower() /initcap() :字符串的大小写转换

华为GAUSS数据库常用的单行操作函数介绍_第8张图片

decode(判断条件, 预期值, 符合结果, 不符合结果) :对条件进行判断,并且输出真假场景下的结果

华为GAUSS数据库常用的单行操作函数介绍_第9张图片

华为GAUSS数据库常用的单行操作函数介绍_第10张图片

instr(字符串, 查找的内容) :对字符的位置进行查找

华为GAUSS数据库常用的单行操作函数介绍_第11张图片

instr(字符串, 查找的内容, 从哪个位置开始, 找匹配的第几个):使用查找的开始序号等对查找的内容进行条件限定

华为GAUSS数据库常用的单行操作函数介绍_第12张图片

length() :查看字符串长度

华为GAUSS数据库常用的单行操作函数介绍_第13张图片

replace(字符串, 被替换的内容, 新内容) :字符内容的替换

华为GAUSS数据库常用的单行操作函数介绍_第14张图片

translate(字符串, 被去除的数据, 依次替换的数据) :将数据依次进行替换,没有替换目标的内容对应空,将被移走

例如:a对应1,bc没有对应的替换值,bc直接被去除,所以 abc 被替换成 1

华为GAUSS数据库常用的单行操作函数介绍_第15张图片

例如:这里会按顺序,a对应1,b对应2,c对应3 进行数据的替换

华为GAUSS数据库常用的单行操作函数介绍_第16张图片

例如:要去掉字符串里面所有的数字

string_agg(字符串字段, 连接符 order by 排序) :按照某个顺序对字符串进行拼接

华为GAUSS数据库常用的单行操作函数介绍_第17张图片

split_part(字符串, '切割符', 序号) :将字符串按照某个符号进行切割,然后展示其中的第几个部分。这里的序号是从1开始的

华为GAUSS数据库常用的单行操作函数介绍_第18张图片

如果我们要获取最后一个字段,但是不知道这个字符的长度,也不知道会被切割成几份,就需要自己编写规则去获取数据了。

华为GAUSS数据库常用的单行操作函数介绍_第19张图片

string_to_array(字符串, 切割符) :将字符串按切割符切割成数组

华为GAUSS数据库常用的单行操作函数介绍_第20张图片

regexp_split_to_array(字符串, 正则表达式) :按照正则表达式的规则将字符串切割成数组

华为GAUSS数据库常用的单行操作函数介绍_第21张图片

regexp_matches(字符串, 正则表达式) :返回匹配模式的字符串数组,如果需要返回所有匹配的集合,则需要第三个参数' g' (g 是 global全局搜索的意思)

数字函数

abs() :求绝对值

华为GAUSS数据库常用的单行操作函数介绍_第22张图片

random() :获取随机数

华为GAUSS数据库常用的单行操作函数介绍_第23张图片

round() :对数字按照精度四舍五入

华为GAUSS数据库常用的单行操作函数介绍_第24张图片

trunc() :数字的截取

华为GAUSS数据库常用的单行操作函数介绍_第25张图片

ceil() / floor() :向上和向下取整

华为GAUSS数据库常用的单行操作函数介绍_第26张图片

power() :幂运算

华为GAUSS数据库常用的单行操作函数介绍_第27张图片

mod() :取余数运算

华为GAUSS数据库常用的单行操作函数介绍_第28张图片

日期时间函数

sysdate :获取当前日期时间:timestamp

华为GAUSS数据库常用的单行操作函数介绍_第29张图片

clock_timestamp() :获取当前日期时间:timestamp with time zone

华为GAUSS数据库常用的单行操作函数介绍_第30张图片

current_timestamp :获取当前日期时间:timestamp with time zone

华为GAUSS数据库常用的单行操作函数介绍_第31张图片

now() :获取当前日期时间:timestamp with time zone

华为GAUSS数据库常用的单行操作函数介绍_第32张图片

statement_timestamp() :获取当前日期时间:timestamp with time zone

华为GAUSS数据库常用的单行操作函数介绍_第33张图片

current_date :仅获取当前日期的年月日数据:date

华为GAUSS数据库常用的单行操作函数介绍_第34张图片

current_time :仅获取当前时间的时分秒数据:time with time zone

华为GAUSS数据库常用的单行操作函数介绍_第35张图片

localtime :仅获取当前时间的时分秒,无时区类型:time

华为GAUSS数据库常用的单行操作函数介绍_第36张图片

localtimestamp :获取当前日期时间:timestamp

华为GAUSS数据库常用的单行操作函数介绍_第37张图片

timeofday() :返回字符串格式的时间

华为GAUSS数据库常用的单行操作函数介绍_第38张图片

add_months() :月份的偏移,将日期往前或者往后移动N个月

华为GAUSS数据库常用的单行操作函数介绍_第39张图片

天数的偏移直接用时间日期类型加减就行

华为GAUSS数据库常用的单行操作函数介绍_第40张图片

extract(year|month|day|week|dow|hour|minute|second from 时间) :对时间内容的维度进行提取

华为GAUSS数据库常用的单行操作函数介绍_第41张图片

date_part() :进行时间内容的提取,等效于extract()

华为GAUSS数据库常用的单行操作函数介绍_第42张图片

last_day() :查询时间所在月的最后一天日期

华为GAUSS数据库常用的单行操作函数介绍_第43张图片

to_timestamp() :进行字符串到时间格式的转换

华为GAUSS数据库常用的单行操作函数介绍_第44张图片

age() :以年月日为单位返回时间间隔

华为GAUSS数据库常用的单行操作函数介绍_第45张图片

date_trunc() :日期时间的裁剪

这里的week的切割和oracle不一样,oracle是切到周天,而gauss是切到周一

华为GAUSS数据库常用的单行操作函数介绍_第46张图片

isfinite() :测试时间是否为正常范围,正常时间返回 t,否则报错

华为GAUSS数据库常用的单行操作函数介绍_第47张图片

pg_sleep() :服务器线程延迟时间设置,这个方法和python中的 time.sleep() 效果相同

next_day() :查看下一个时间周期(星期)的日期

华为GAUSS数据库常用的单行操作函数介绍_第48张图片

数据类型转换函数

cast() :数据类型转换

华为GAUSS数据库常用的单行操作函数介绍_第49张图片

华为GAUSS数据库常用的单行操作函数介绍_第50张图片

to_char() :转换数据为字符串 / 将日期类型的数据提取出来

华为GAUSS数据库常用的单行操作函数介绍_第51张图片

to_date() :将字符串转换成日期date类型

华为GAUSS数据库常用的单行操作函数介绍_第52张图片

to_timestamp() :将字符串转换成时间戳timestamp类型,看起来和to_date()是一样的,但是to_date()是时间类型,to_timestamp()是个字符串。

华为GAUSS数据库常用的单行操作函数介绍_第53张图片

to_number() :将其他类型转换成数字

华为GAUSS数据库常用的单行操作函数介绍_第54张图片

文本检索函数

length(to_tsvector()) :返回tsvector类型词汇的单词数,tsvector类型会对单词内容进行去重,返回int整数

华为GAUSS数据库常用的单行操作函数介绍_第55张图片

ts_rewrite(查询的tsquery, 查询的tsquery, 替换的tsquery) :查询重写,返回一个tsquery类型

例如下面的tsquery类型中,将apple替换成banana:

或者放在表格中,我们将小米替换成MI:

华为GAUSS数据库常用的单行操作函数介绍_第56张图片

这里要注意的是,如果需要重写的规则越多,那么重写的操作就会越慢,因为ts_rewrite()要检查每一个可能匹配的规则。

JSON类型函数

array_to_json() :将一个多维数组返回成一个指定数据类型的json格式的数组

华为GAUSS数据库常用的单行操作函数介绍_第57张图片

row_to_json() :将一行数据返回成一个json格式的行信息

华为GAUSS数据库常用的单行操作函数介绍_第58张图片

HLL类型函数

hll_hash_any() :对任何数据类型进行哈希值的计算

华为GAUSS数据库常用的单行操作函数介绍_第59张图片

hll_hashval_eq() :比较两个数据的哈希值计算结果是否一致

华为GAUSS数据库常用的单行操作函数介绍_第60张图片

hll_hashval_ne() :比较两个数据的哈希值计算结果是否不一致

华为GAUSS数据库常用的单行操作函数介绍_第61张图片

hll_add_agg() :将哈希之后的数据,分组放到hll中

例如对表格中的性别进行分组,根据id进行哈希计算,将计算结果分组放入到同一个性别的hll里面

华为GAUSS数据库常用的单行操作函数介绍_第62张图片

hll_cardinality() :对分组之后的hll数据进行统计,统计结果会去重

sequence类型函数

nextval() :递增序列并且返回这个序列的新值

--先创建一个新的自定义序列对象

华为GAUSS数据库常用的单行操作函数介绍_第63张图片

--创建一个表格,在表格的主键id上使用这个序列对象

华为GAUSS数据库常用的单行操作函数介绍_第64张图片

--插入数据的时候,这个序列号便会自动的进行添加了

华为GAUSS数据库常用的单行操作函数介绍_第65张图片

在序列对象里面,本身也有 nextval 这个属性可以直接使用到序列的下一个值:

华为GAUSS数据库常用的单行操作函数介绍_第66张图片

currval :查看表格序列的最后一个值

华为GAUSS数据库常用的单行操作函数介绍_第67张图片

setval() 重新设置当前序列对象的值

华为GAUSS数据库常用的单行操作函数介绍_第68张图片

aes128加密解密函数

gs_encrypt_aes128(被加密的字符串, 密钥) :将字符串根据密钥进行aes加密,转换密码的密钥,需要8个字符以上而且包含至少三种不同的字符

gs_decrypt_aes128('加密后的密文', '密钥') :对加密的aes128进行解密操作

集合函数

generate_series(开始值, 结束值, 步长) :生成一个数字范围内的序号,一个从开始到结束的连续序号

华为GAUSS数据库常用的单行操作函数介绍_第69张图片

华为GAUSS数据库常用的单行操作函数介绍_第70张图片

时间日期类型也是可以的

华为GAUSS数据库常用的单行操作函数介绍_第71张图片

华为GAUSS数据库常用的单行操作函数介绍_第72张图片

736581d8db410f820c2ab3b4cb35554e.png

generate_subscripts() :返回数组中某个维度的下标序号(该维度的元素个数)

华为GAUSS数据库常用的单行操作函数介绍_第73张图片

系统信息函数

current_catalog / current_database() :查询当前的数据库名字

华为GAUSS数据库常用的单行操作函数介绍_第74张图片

current_user :查询当前的用户名

华为GAUSS数据库常用的单行操作函数介绍_第75张图片

current_schema :schema是表格的集合体,如果没有创建单独的schema,那么默认是使用的public

华为GAUSS数据库常用的单行操作函数介绍_第76张图片

感兴趣的同学可以点击关注,后续还会继续更新gauss数据库的内容。

你可能感兴趣的:(华为GAUSS数据库,数据库,sql,华为,大数据,bigdata)