PostgreSQL常用字符串函数

PostgreSQL 提供了丰富的字符串函数,可以对字符串进行操作、处理和格式化。以下是一些常用的字符串函数及其示例:

1. LENGTH() - 计算字符串的长度

SELECT LENGTH('Hello World');  -- 返回 11

2. CONCAT() - 拼接字符串

将多个字符串连接在一起。

SELECT CONCAT('Hello', ' ', 'World');  -- 返回 'Hello World'

3. || - 拼接操作符

类似于 CONCAT(),用于连接字符串。

SELECT 'Hello' || ' ' || 'World';  -- 返回 'Hello World'

4. SUBSTRING() - 截取字符串

从字符串中提取子字符串,指定开始位置和长度。

SELECT SUBSTRING('PostgreSQL', 1, 4);  -- 返回 'Post'

5. POSITION() - 查找子字符串的位置

返回子字符串在目标字符串中的位置(从1开始)。

SELECT POSITION('gre' IN 'PostgreSQL');  -- 返回 5

6. UPPER()LOWER() - 转换大小写

  • UPPER():将字符串转换为大写。
  • LOWER():将字符串转换为小写。
SELECT UPPER('postgresql');  -- 返回 'POSTGRESQL'
SELECT LOWER('PostgreSQL');  -- 返回 'postgresql'

7. TRIM() - 去除字符串两端的空格或指定字符

可以去除字符串开头或结尾的空格,也可以去除指定字符。

-- 去除两端空格
SELECT TRIM('  Hello World  ');  -- 返回 'Hello World'-- 去除指定字符
SELECT TRIM(BOTH 'x' FROM 'xxHello Worldxx');  -- 返回 'Hello World'

8. LTRIM()RTRIM() - 去除左侧或右侧的空格或字符

  • LTRIM():去除字符串左侧的空格或指定字符。
  • RTRIM():去除字符串右侧的空格或指定字符。
-- 去除左侧空格
SELECT LTRIM('   Hello World');  -- 返回 'Hello World'-- 去除右侧空格
SELECT RTRIM('Hello World   ');  -- 返回 'Hello World'

9. REPLACE() - 替换子字符串

将字符串中的某个子字符串替换为另一个字符串。

SELECT REPLACE('Hello World', 'World', 'PostgreSQL');  -- 返回 'Hello PostgreSQL'

10. OVERLAY() - 替换子字符串的一部分

用于将字符串中的某个部分替换为另一个字符串。

SELECT OVERLAY('TxxxxT' PLACING 'es' FROM 2 FOR 4);  -- 返回 'TestT'

11. INITCAP() - 首字母大写

将字符串的每个单词的首字母转换为大写,其余部分小写。

SELECT INITCAP('hello world');  -- 返回 'Hello World'

12. LPAD()RPAD() - 填充字符串

  • LPAD():在字符串左侧填充指定字符,使其达到特定长度。
  • RPAD():在字符串右侧填充指定字符,使其达到特定长度。
-- 左侧填充
SELECT LPAD('123', 5, '0');  -- 返回 '00123'-- 右侧填充
SELECT RPAD('123', 5, '0');  -- 返回 '12300'

13. SPLIT_PART() - 分割字符串

根据指定的分隔符分割字符串,并返回指定部分。

SELECT SPLIT_PART('2024-10-01', '-', 1);  -- 返回 '2024'
SELECT SPLIT_PART('2024-10-01', '-', 2);  -- 返回 '10'

14. REVERSE() - 反转字符串

将字符串的字符顺序反转。

SELECT REVERSE('PostgreSQL');  -- 返回 'LQSergtsoP'

15. TO_CHAR() - 格式化数字或日期为字符串

可以将数字或日期格式化为指定的字符串格式。

-- 将数字格式化为带逗号的格式
SELECT TO_CHAR(1234567.89, 'FM999,999,999.00');  -- 返回 '1,234,567.89'-- 将日期格式化为字符串
SELECT TO_CHAR(CURRENT_DATE, 'YYYY-MM-DD');  -- 返回 '2024-10-01'

16. REGEXP_REPLACE() - 正则表达式替换

使用正则表达式匹配并替换字符串中的内容。

-- 使用正则表达式将连续的空格替换为单个空格
SELECT REGEXP_REPLACE('Hello   World', '\s+', ' ', 'g');  -- 返回 'Hello World'

17. REGEXP_MATCHES() - 正则表达式匹配

返回匹配正则表达式的子字符串。

-- 使用正则表达式匹配 email 地址
SELECT REGEXP_MATCHES('user@example.com', '([a-zA-Z0-9._%+-]+)@([a-zA-Z0-9.-]+\.[a-zA-Z]{2,})');
-- 返回:{user, example.com}

18. FORMAT() - 格式化字符串

使用C语言风格的格式化输出。

SELECT FORMAT('Hello %s, you are %s years old.', 'Alice', 30);  -- 返回 'Hello Alice, you are 30 years old.'

总结

这些字符串函数可以帮助处理和操作各种字符串数据,在日常开发中非常实用。根据业务需求,选择合适的函数可以有效提高操作效率。


产品简介

  • 梧桐数据库(WuTongDB)是基于 Apache HAWQ 打造的一款分布式 OLAP 数据库。产品通过存算分离架构提供高可用、高可靠、高扩展能力,实现了向量化计算引擎提供极速数据分析能力,通过多异构存储关联查询实现湖仓融合能力,可以帮助企业用户轻松构建核心数仓和湖仓一体数据平台。
  • 2023年6月,梧桐数据库(WuTongDB)产品通过信通院可信数据库分布式分析型数据库基础能力测评,在基础能力、运维能力、兼容性、安全性、高可用、高扩展方面获得认可。

点击访问:
梧桐数据库(WuTongDB)相关文章
梧桐数据库(WuTongDB)产品宣传材料
梧桐数据库(WuTongDB)百科

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

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

相关文章

回南天,即使没有除湿机,也能除湿

前几天收到网友私信,询问烘干机干衣吹热风,这个比较好理解,热气吹到衣服上加速水分蒸发。但空调除湿为什么不吹热风了,而吹冷风呢?以及除湿机的原理等的问题。 因为我在南京总是觉得干,加湿器24小时不停&a…

JAVA就业笔记3——第一阶段(3)

课程须知 A类知识:工作和面试常用,代码必须要手敲,需要掌握。 B类知识:面试会问道,工作不常用,代码不需要手敲,理解能正确表达即可。 C类知识:工作和面试不常用,代码不…

The 2024 ICPC Kunming Invitational Contest K. Permutation(交互 期望)

在知乎内查看 题目 思路来源 题解 首先特判n1的情况,其实也不用问 分治,假设当前解决到[l,r],要递归的vector是x, 维护两个vector L、R,代表下一步要在[l,mid]和[mid1,r]分治的vector 每次将x random_shuffle后&a…

易基因:J Hazard Mater/IF12.2:RRBS揭示农药诱导胰腺全基因组DNA甲基化跨代改变与代谢表型相关

大家好,这里是专注表观组学十余年,领跑多组学科研服务的易基因。 人造化学品的不当使用会对生物多样性和人类健康构成重大威胁,某些化学物质(如农药)可能通过表观遗传机制(如DNA甲基化)对代谢健…

如何批量找到企业联系电话

在拓展业务的过程中,找到企业的联系电话是必不可少的一步。然而,手动查找不仅耗时费力,效率也低下。对于需要批量获取客户信息的销售人员或企业来说,寻找一种快速、精准的方式批量获取企业联系电话显得尤为重要。本文将为你介绍几…

MPLS LDP协议

文章目录 LDP标签分发协议工作原理LDP应用倒数第二跳弹出 LDP标签分发协议 基于FEC自动分配标签构建LSP用于建立动态LSPLDP报文头部结构信息类型 工作原理 LDP工作过程 发送Hello消息用于发现邻居;UDP发送LSR_1主动发起并建立TCP连接;TCP进行建立主动方发…

怎么利用商品详情API接口实现数据获取与应用?

在当今数字化的商业时代,高效获取和利用商品数据对于企业和开发者来说至关重要。商品详情 API 接口为我们提供了一种便捷的方式来获取丰富的商品信息,从而实现各种有价值的应用。本文将深入探讨如何利用商品详情 API 接口实现数据获取与应用。 一、商品…

STM32 HAL库UART查询方式实例

本文中介绍USART编程涵盖了三种主要方法,详细介绍STM32F407微控制器结合HAL库,通过UART的查询方式来实现一个实用的密码验证程序。提示用户键入一个字符作为密码。只有当用户精准地输入字符6时,系统才会反馈“密码正确”的确认信息。反之&…

@JsonAlias和@JSONField序列化和反序列化

com.fasterxml.jackson.annotation.JsonAlias("expressCode") com.alibaba.fastjson.annotation.JSONField(name "expressCode") 这两个注解分别属于不同的JSON序列化框架:Jackson 和 Fastjson,它们的用途是处理JSON字段的名称映射…

【重学 MySQL】五十六、位类型

【重学 MySQL】五十六、位类型 定义赋值与使用注意事项应用场景 在MySQL数据库中,位类型(BIT类型)是一种用于存储位字段值的数据类型。 定义 BIT(n)表示n个位字段值,其中n是一个范围从1到64的整数。这意味着你可以存储从1位到64…

数据库镜像拷贝还原--Oracle数据库实例启动报错

现象描述: 从服务器,在未停数据库服务情况下,拍快照还原到另一台服务器,启动数据库报错。 过程记录: 一、启动数据库提示:ORA-01102 报错信息: ORA-01102: cannot mount database in EXCLUSI…

requestidlecallback与分时函数

前言 我们知道GUI 渲染线程与 JS 引擎线程是互斥的。当JS程序执行时间过长,会阻塞页面渲染和事件响应。那么针对一些优先级较低的任务,我们可以利用分时函数在主线程空闲时执行,减少卡顿。其本质是将一个长任务拆分成数个短任务,…

macos php开发环境之macport安装的php扩展安装,php常用扩展安装,port中可用的所有php扩展列表

macos中,我们使用了port 安装了php后,默认只带有php基本的核心扩展的, 如果需要使用其他的扩展,如 redis, https, xdebug等扩展就需要我们手动来安装对应的扩展。 macos php开发环境 macport安装的php的方法见macos 中…

国产工具链GCKontrol-GCAir助力控制律开发快速验证

前言 随着航空领域技术的不断发展,飞机的飞行品质评估和优化成为了航空领域的一个重要任务,为了确保飞行器在各种复杂条件下的稳定性,控制律设计过程中的模型和数据验证需要大量仿真和测试。 本文将探讨基于世冠科技的国产软件工具链GCKont…

Leetcode 37. 解数独

1.题目基本信息 1.1.题目描述 编写一个程序,通过填充空格来解决数独问题。 数独的解法需 遵循如下规则: 数字 1-9 在每一行只能出现一次。数字 1-9 在每一列只能出现一次。数字 1-9 在每一个以粗实线分隔的 33 宫内只能出现一次。(请参考…

如何设置 GitLab 密码长度?

GitLab 是一个全球知名的一体化 DevOps 平台,很多人都通过私有化部署 GitLab 来进行源代码托管。极狐GitLab 是 GitLab 在中国的发行版,专门为中国程序员服务。可以一键式部署极狐GitLab。 学习极狐GitLab 的相关资料: 极狐GitLab 60天专业…

使用 Spring Boot 客户端对 Apache Pulsar 进行自定义身份验证

先决条件 在我们深入为 Pulsar 创建自定义身份验证机制之前,请确保您具有以下设置: Java 17: 确保您的环境中已安装并设置 Java 17。Spring Boot Version 3.3.2: 我们将使用 Spring Boot 创建自定义 Pulsar 客户端。Docker & Docker Compose: 在容器…

cudnn8编译caffe过程(保姆级图文全过程,涵盖各种报错及解决办法)

众所周知,caffe是个较老的框架,而且只支持到cudnn7,但是笔者在复现ds-slam过程中又必须编译caffe,我的cuda版本是11.4,最低只支持到8.2.4,故没办法,只能编译了 在此记录过程、报错及解决办法如下; 首先安装依赖: sudo apt-get install git sudo apt-get install lib…

facebook受众选择设置策略的最佳方式

在进行Facebookguanggao投放时,受众的选择是一个至关重要的步骤。正确的受众选择不仅能够帮助我们更好地定位目标用户,还能显著提高guanggao的转化率和投资回报率(ROI)。然而,受众选择的数量和范围同样是需要认真考虑的…

外呼系统致力于企业低成本获客,如何做

外呼系统作为一种通过电脑自动往外拨打用户电话,并播放录制好的语音或进行实时对话的系统,对于企业低成本获客具有显著作用。 以下是一些利用外呼系统实现低成本获客的策略和步骤: 一、明确目标和定位 1. 了解市场需求 - 深入分析目标市场…