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

字符串函数

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

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

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

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

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

concat() :拼接字符串

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

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

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

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

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

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

length() :查看字符串长度

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

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

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

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

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

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

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

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

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

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

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

数字函数

abs() :求绝对值

random() :获取随机数

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

trunc() :数字的截取

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

power() :幂运算

mod() :取余数运算

日期时间函数

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

date_trunc() :日期时间的裁剪

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

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

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

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

数据类型转换函数

cast() :数据类型转换

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

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

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

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

文本检索函数

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

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

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

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

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

JSON类型函数

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

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

HLL类型函数

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

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

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

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

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

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

sequence类型函数

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

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

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

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

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

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

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

aes128加密解密函数

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

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

集合函数

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

时间日期类型也是可以的

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

系统信息函数

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

current_user :查询当前的用户名

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

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

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

  1. 华为gauss数据库常见的13种数据类型介绍

    这里我总结了华为高斯数据库的13种常见类型,除了大家都很熟悉的时间日期.字符串.数字类型等,还有二进制类型.文本搜索类型.HLL类型.JSON类型等. a. 时间和日期类型 --我们现在创建一个tes ...

  2. php文件有哪几种,PHP常用的文件操作函数有哪些

    PHP常用的文件操作函数有哪些 本文主要总结的PHP文件操作函数.当然,这只是部分,还有很多,我没有列出来.欢饮阅读参考! 一 .解析路径: 1 获得文件名: basename(); 给出一个包含有指 ...

  3. Linux下设备树中常用的of操作函数举例

    文章目录 前言 一.在设备树中添加自定义节点 二.用到的of函数简介 1.用到的结构体 2.各of函数介绍 1>.of_find_node_by_path 2>.of_find_prope ...

  4. 华为 Gauss数据库十问

    自2019年5月15日正式发布以来,华为GaussDB数据库受到业界的广泛关注.针对客户和读者的反馈,我们整理了关于GaussDB数据库的十个热点问题,让您能够快速一览华为GaussDB数据的&quo ...

  5. c语言中空格字符怎么表示_C语言中常用的字符串操作函数

    作者:陈太浪 出处:https://home.cnblogs.com/u/TomHe789/ C语言中提供了许多的字符串操作函数,常见的字符串操作函数有以下几种: 1.求字符串长度的函数 原型函数:s ...

  6. PHP常用的文件操作函数集锦

    以下是个人总结的PHP文件操作函数.当然,这只是部分,还有很多,我没有列出来. 一 .解析路径: 1 获得文件名: basename(); 给出一个包含有指向一个文件的全路径的字符串,本函数返回基本的 ...

  7. 数据库常用语法-查询和函数-附sql练习脚本

    致读者: 博主是一名数据科学与大数据专业大二的学生,真正的一个互联网萌新,写博客一方面是为了记录自己的学习历程,一方面是希望能够帮助到很多和自己一样处于困惑的读者.由于水平有限,博客中难免会有一些错误 ...

  8. php中文件操作函数,php中常用文件操作函数介绍

    小编今天来给php初学者介绍php文件操作的常用函数使用方法总结,包括:文件读写,创建,查看文件属性,文件删除等等关于文件的操作. 在对一个文件进行访问之前,一般我们都需要判断文件是否存在,以免调用了 ...

  9. MML命令_华为TD-LTE后台常用MML命令操作

    MML命令 2013年12月09日 from:https://blog.csdn.net/koudaidai/article/details/17219821 设备 类别 操作 详细 RNC 小区状态 ...

最新文章

  1. 【计算理论】计算理论总结 ( 下推自动机计算过程 | 上下文无关文法 CFG 转为下推自动机 PDA ) ★★
  2. java中string类_Java中String类浅谈
  3. Dools的DMN运行时示例
  4. model类中enum类型与数据库字段的映射
  5. java案例代码21-电影院购票系统[重要]
  6. html消除样式,清除css样式
  7. 频繁切换网卡,一款快速设置IP地址的工具,爽到爆。
  8. phpcms下载页直接显示下载真实地址方法
  9. 对于工作学习的一些感想
  10. 提高代码质量之静态代码检查
  11. 自制F1C200S demo板(一、电路)
  12. PFLD: A Practical Facial Landmark Detector--Xiaojie Guo
  13. access端口、trunk端口和hybird端口
  14. 手机app应用免费监控软件U-APM保姆级教学,入门使用
  15. 数组some和every的区别
  16. win7提权system与后门
  17. 小白,想入门程序员,应该从什么开始学,顺序是什么?
  18. ORAN专题系列-9:5G O-RAN 分体式小基站Option7-8硬件白盒化的参考架构
  19. 【自动聚焦】显微镜的景深
  20. 16.使用UltraISO制作linux系统安装u盘启动盘

热门文章

  1. 复杂的1秒 图解Google搜索技术
  2. 一个出身寒门的状元之编程
  3. Coursera吴恩达机器学习week4笔记
  4. 前端javascript常见问题总结
  5. 时间不够用?柳比歇夫时间管理法帮到你
  6. 回收站清空的文件怎么恢复?失易得这样恢复
  7. BugKu -- AWD --S1排位赛-4
  8. Go语言学习 二十三 错误处理和运行时恐慌(Panic)
  9. snowStorm.js下雪效果
  10. 未来的无盘网吧是什么样子?