postgresql-字符函数

postgresql-字符函数

  • 字符串连接
  • 字符与编码
  • 字符串长度
  • 大小写转换
  • 子串查找与替换
  • 截断与填充
  • 字符串格式化
  • MD5 值
  • 字符串拆分
  • 字符串反转

字符串连接

concat(str, …)函数用于连接字符串,并且忽略其中的 NULL 参数;concat_ws(sep, str, …)
函数使用指定分隔符 sep 连接字符串。

select concat(2, null, 22), concat_ws(' and ', 2, null, 22);

在这里插入图片描述
两个竖杠(||)也可以用于连接字符串,但是 NULL 参数将会返回 NULL。

SELECT 'Post'||'greSQL', 'Post'||NULL||'greSQL';

在这里插入图片描述

字符与编码

ascii(string)函数返回第一个字符的 ASCII 码。对于 UTF8 返回 Unicode 码;对于其他多字节
编码,参数必须是一个 ASCII 字符。

select ascii('x');

在这里插入图片描述
chr(int)函数返回编码对应的字符。对于 UTF8,参数指定的是 Unicode 码;对于其他多字节
编码,参数必须对应一个 ASCII 字符。参数不允许为 0(空字符),因为 text 数据类型不能存储
空字符
在这里插入图片描述

字符串长度

bit_length(string)函数用于计算字符串包含的比特数;length(string)char_length(string)
character_length(string)函数计算字符串包含的字符数;octet_length(string) 函数计算字符串包
含的字节数。
在这里插入图片描述

大小写转换

lower(string)函数将字符串转换为小写形式,
upper(string)函数将字符串转换为大写形式,
initcap(string)函数将每个单词的首字母大写,其他字母小写
在这里插入图片描述

子串查找与替换

substring(string [FROM] [for])函数用于提取从位置 FROM 开始的 for 个字符子串,位置从
1 开始计算。substr(string, FROM [, count])的作用相同。
在这里插入图片描述
left(str, n)函数返回字符串左边的 n 个字符。如果 n 为负数,返回除了最后|n|个字符之外的
所有字符
right(str, n)函数返回字符串右边的 n 个字符。如果 n 为负数,返回除了左边|n|个字符之外的
字符。
在这里插入图片描述
substring(string FROM pattern)函数提取匹配 POSIX 正则表达式的子串。
substring(string FROM pattern for escape)函数提取匹配 SQL 正则表达式的子串。
在这里插入图片描述
regexp_match(string, pattern [, flags])函数返回匹配 POSIX 正则表达式的第一个子串。
在这里插入图片描述
regexp_matches(string, pattern [, flags])函数返回匹配 POSIX 正则表达式的所有子串,结果
是一个集合
在这里插入图片描述
position(substring in string)返回子串的位置;strpos(string, substring)函数的作用相同,但
是参数顺序相反。
在这里插入图片描述
starts_with(string, prefix)函数判断 string 是否以 prefix 开头,如果是则返回 true;否则返回
false。
在这里插入图片描述
replace(string, FROM, to)函数将字符串 string 中的 FROM 子串替换为 to 子串;
regexp_replace(string, pattern, replacement [, flags])函数字符串 string 中匹配 POSIX 正则表达式
pattern 的子串替换为 replacement
在这里插入图片描述
translate(string , FROM , to)函数将字符串 string 中出现在 FROM 中的字符串替换成 to 中相
应位置的字符。如果 FROM 长度大于 to,在 to 中没有对应值的字符将被删除。
在这里插入图片描述
overlay(string placing substring FROM [for])函数使用 substring 覆盖字符串 string 中从
FROM 开始的 for 个字符。

select overlay('txxxxas' placing 'hom' from 2 for 4);

在这里插入图片描述

截断与填充

trim([leading | trailing | both] [characters] FROM string)函数从字符串的开头(leading)、
结尾(trailing)或者两端(both)删除由指定字符 characters(默认为空格)组成的最长子串;
trim([leading | trailing | both] [FROM] string [, characters])函数的作用相同。

select trim(both 'xyz' from 'yxTomxx');

在这里插入图片描述
btrim(string [, characters])函数的作用与上面 trim 函数的 both 选项相同;ltrim(string [, characters])与上面 trim 函数的 leading 选项相同;rtrim(string [, characters])函数上面 trim 函数的 trailing 选项相同。

select btrim('yxTomxx', 'xyz'), ltrim('yxTomxx', 'xyz'), rtrim('yxTomxx',
'xyz');

在这里插入图片描述
lpad(string, length [, fill ])函数在 string 左侧使用 fill 中的字符(默认空格)进行填充,直到
长度为 length。如果 string 长度大于 length,从右侧截断到长度 length。

rpad(string, length [, fill ])函数在 string 右侧使用 fill 中的字符(默认空格)进行填充,直到
长度为 length。如果 string 长度大于 length,从右侧截断到长度 length。

repeat(string, number)函数将字符串 string 重复 N 次。

select lpad('hi', 5, 'xy'), rpad('hi', 5, 'xy'), repeat('Pg', 4);

在这里插入图片描述

字符串格式化

format(formatstr , formatarg)用于对字符串格式化,类似于 C 语言中的 sprintf 函数。

select format('hello %s, %1$s', 'world');

在这里插入图片描述

MD5 值

md5(string)函数用于返回十六进制格式的 MD5 值。
在这里插入图片描述

字符串拆分

regexp_split_to_table(string, pattern[, flags])函数用于拆分字符串,使用 POSIX 正则表达式
作为分隔符。函数的返回类型是 text 集合。

select regexp_split_to_table('hello world', '\s+');

在这里插入图片描述
split_part(string, delimiter, field)函数使用 delimiter 拆分字符串,并返回指定项(从 1 开始
计数)。

select split_part('abc~@~def~@~ghi', '~@~', 2);

在这里插入图片描述

字符串反转

reverse(str)函数用于将字符串反转。

select reverse('上海自来水');

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【黑科技】游戏开发程序员必备工具【一】

👨‍💻个人主页:元宇宙-秩沅 👨‍💻 hallo 欢迎 点赞👍 收藏⭐ 留言📝 加关注✅! 👨‍💻 本文由 秩沅 原创 👨‍💻 收录于专栏:效率…

递归算法学习——子集

目录 一,题目解析 二,例子 三,题目接口 四,解题思路以及代码 1.完全深度搜索 2.广度搜索加上深度优先搜索 五,相似题 1.题目 2.题目接口 3.解题代码 一,题目解析 给你一个整数数组 nums &#xff0c…

软件开发的201个原则 阅读笔记 第172-201个原则

目录 原则172 做项目总结 第8章 产品保证原则 原则173 产品保证并不是奢侈品 原则 174 尽早建立软件配置管理过程 原则175 使软件配置管理适应软件过程 原则176 组织SCM 独立于项目管理 原则 177 轮换人员到产品保证组织 给所有中间产品一个名称和版本 原则179 控制基准 原则…

学习JAVA打卡第四十五天

StringBuffer类 StringBuffer对象 String对象的字符序列是不可修改的,也就是说,String对象的字符序列的字符不能被修改、删除,即String对象的实体是不可以再发生变化,例如:对于 StringBuffer有三个构造方法&#xff…

PHP敬老院管理系统Dreamweaver开发mysql数据库web结构php编程计算机网页

一、源码特点 PHP 敬老院管理系统(养老)是一套完善的web设计系统,对理解php编程开发语言有帮助,系统具有完整的源代码和数据库,系统主要采用B/S模式开发。 论文 https://download.csdn.net/download/qq_41221322/…

财务部发布《企业数据资源相关会计处理暂行规定》

导读 财务部为规范企业数据资源相关会计处理,强化相关会计信息披露,根据《中华人民共和国会计法》和相关企业会计准则,制定了《企业数据资源相关会计处理暂行规定》。 加gzh“大数据食铁兽”,回复“20230828”获取材料完整版 来…

adb 命令

1.adb shell dumpsys activity top | find "ACTIVITY" 查看当前运行的activity包名 2.adb shell am start -n 包名/页面名 打开应用的页面 3.查看将要启动或退出app的包名 adb shell am monitor 只有在启动或退出的时候才会打印 4.查看当前启动应用的包名 ad…

工单管理报修系统有什么用?的修工单系统助您解决报修难点

随着互联网的快速发展,许多企业都开始使用“的修”工单管理系统,这是一款企业管理软件,可以帮助管理员用户针对不同的机构、单位以及外部客户的需求来选择性地管理、维护及追踪各种各样的问题和请求,也可用作公司内部员工工作上的…

人员闯入检测告警算法

人员闯入检测告警算法通过yolov5网络模型识别检测算法,人员闯入检测告警算法对未经许可或非法进入的人员进行及时识别告警,确保对危险区域的安全管理和保护。YOLO系列算法是一类典型的one-stage目标检测算法,其利用anchor box将分类与目标定位…

SSM - Springboot - MyBatis-Plus 全栈体系(二)

第一章 Maven 三、Maven 核心功能依赖和构建管理 1. 依赖管理和配置 Maven 依赖管理是 Maven 软件中最重要的功能之一。Maven 的依赖管理能够帮助开发人员自动解决软件包依赖问题,使得开发人员能够轻松地将其他开发人员开发的模块或第三方框架集成到自己的应用程…

【Docker】01-Centos安装、简单使用

参考教程: https://www.bilibili.com/video/BV1Qa4y1t7YH/?p5&spm_id_frompageDriver&vd_source4964ba5015a16eb57d0ac13401b0fe77 什么是Docker? Docker是一种开源的容器化平台,用于构建、打包、部署和运行应用程序。它通过使用容…

Java面向对象

目录 1. 对象简介 2. this关键字 3. 构造器(构造方法) 4. 封装性 5. 实体类JavaBean 6. 静态(static) 7. 工具类 8. 继承 9. 权限修饰符 10. 方法重写 11. this和super的用法总结: 12. 多态 13. final关键…

Midjourney学习(二)参数的基础

prompt的组成 prompt 可以由三部分组成&#xff0c; 第一部分是垫图部分&#xff0c;也就是一张网络图片 第二部分是文本描述内容 第三部分则是参数 参数列表 --aspect <value> 或者 --ar <value> 控制画面的比例&#xff0c;横竖比例 --version <value> -…

centos安装MySQL 解压版完整教程(按步骤傻瓜式安装

一、卸载系统自带的 Mariadb 查看&#xff1a; rpm -qa|grep mariadb 卸载&#xff1a; rpm -e --nodeps mariadb-libs-5.5.68-1.el7.x86_64 二、卸载 etc 目录下的 my.cnf 文件 rm -rf /etc/my.cnf 三、检查MySQL是否存在 有则先删除 #卸载mysql服务以及删除所有mysql目录 #没…

day-05 TCP半关闭 ----- DNS ----- 套接字的选项

一、优雅的断开套接字连接 之前套接字的断开都是单方面的。 &#xff08;一&#xff09;基于TCP的半关闭 Linux的close函数和windows的closesocket函数意味着完全断开连接。完全断开不仅不能发送数据&#xff0c;从而也不能接收数据。在某些情况下&#xff0c;通信双方的某一方…

【CSS左右上角斜标签】CSS实现左右上角飘带功能,左右上角斜标签(附源码)

文章目录 写在前面涉及知识点实现效果1、实现过程1.1左上角飘带Html代码Css代码效果 1.2右上角飘带Html代码Css代码效果 2、源码分享2.1 百度网盘2.2 123网盘2.3 邮箱留言 总结 写在前面 其实在公司页面开发过程就遇到过&#xff0c;需要在方块右上角展示一个斜的文字或者告警…

windows系统配置tcp最大连接数

打开注册表 运行->regedit HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters目录下 增加一个MaxUserPort&#xff08;默认值是5000&#xff0c;端口范围是1025至5000&#xff09;MaxUserPort设置为65534&#xff08;需重启服务器&#xff09; 执行dos命令&…

第三方软件检测机构有哪些资质,2023年软件测评公司推荐

软件第三方测试报告 伴随着软件行业的蓬勃发展&#xff0c;软件测试也迎来了热潮&#xff0c;但是国内的软件测试行业存在着测试入行门槛低、测试投入少、测试人员专业性不足等问题&#xff0c;这些问题不但会阻碍软件测试行业的良性发展&#xff0c;而且难以保证软件产品的质…

算法---二叉树中的最大路径和

题目 二叉树中的 路径 被定义为一条节点序列&#xff0c;序列中每对相邻节点之间都存在一条边。同一个节点在一条路径序列中 至多出现一次 。该路径 至少包含一个 节点&#xff0c;且不一定经过根节点。 路径和 是路径中各节点值的总和。 给你一个二叉树的根节点 root &…

Linux通信--构建进程通信System-V 消息队列|信号量

文章目录 目录 一、消息队列 二、信号量 1.互斥 2.信号量 一、消息队列 消息队列提供了从一个进程向另一个进程发送数据块的方法每个数据块都被认为是有一个类型&#xff0c;接收者进程接收的数据块可以有不同的类型值IPC资源必须删除&#xff0c;不会随进程自动清楚&#…