PostgreSQL数据库字符串拼接、大小写转换以及substring详解

 更新时间:2023年04月14日 09:42:18   作者:blair的博客  
在日常工作中会遇到将多行的值拼接为一个值展现,下面这篇文章主要给大家介绍了关于PostgreSQL数据库字符串拼接、大小写转换以及substring的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下

前言

PostgreSQL数据库简称pg数据库。

本文主要介绍使用pg数据库时,字符串的一些常用操作。

例如:多个字符串如何连接在一起,字符串如何大小写转换,删除字符串两边的空格,查找字符位置,查找子字符串等。

一、多个字符串如何连接,拼接?

pg的字符串连接使用 ||,注意不是+

1. 将2个字符串hello和word拼接在一起

SELECT 'hello' || 'world';--结果: helloworldSELECT 'hello' || 'world';
--结果: helloworld

2. 将3个字符串hello,空格和word拼接在一起

SELECT 'hello' || ' ' || 'world';
--结果:hello world

3. 将字符串hello和数字123456拼接在一起

SELECT 'hello' || 123456;
--结果:hello123456

二、字符串大小写转换

1. 将Hello World,转换成小写

SELECT lower('Hello World');
--结果:hello world

2. 将Hello World,转换成大写

SELECT upper('Hello World');
--结果:HELLO WORLD

三、删除字符串两边的空格

SELECT trim(' hello world ');
--结果:hello world

四、查找字符位置

注:position函数返回值是从1开始的,不是从0开始的下标值。如果返回0表示没找到字符。

1. 查找@在字符串hello@163.com中的位置

SELECT position('@' IN 'hello@163.com');
--结果:6

2. 查找b在字符串hello@163.com中的位置

注: 因为b不在字符串hello@163.com中,返回0,表示没找到字符b。

SELECT position('b' IN 'hello@163.com');
--结果:0

五、查找子字符串

函数:substring(‘hello@163.com’, start, count);

参数1:字符串,参数2:起始位置,参数3:count

注意:start的位置, count值的区别

查询子字符串hello

方法1. start=1,count=5

SELECT substring('hello@163.com',1,5);
--结果:hello

方法2. start=0,count=6

SELECT substring('hello@163.com',0,6);
--结果:hello

六、综合实例

功能描述:将Hello@163.com转成小写,并将域名由163.com换成126.com

Hello@163.com --> hello@126.com

SELECT lower(substring('Hello@163.com',0, position('@' IN 'Hello@163.com')) || '@126.com');
--结果:hello@126.com
SELECT lower(substring('Hello@163.com',1, position('@' IN 'Hello@163.com') - 1) || '@126.com');
--结果:hello@126.com

总结

以上就是今天要讲的内容,本文仅仅简单介绍了pg数据库中字符串的一些常用函数的使用,而pg还提供了大量函数和方法,具体见pg官网https://www.postgresql.org/docs/current/functions-string.html

到此这篇关于PostgreSQL数据库字符串拼接、大小写转换以及substring详解的文章就介绍到这了,更多相关PostgreSQL字符串拼接大小写转换内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 关于PostgreSql数据库与mysql数据库的不同点以及注意事项

    关于PostgreSql数据库与mysql数据库的不同点以及注意事项

    PostgreSQL和MySQL是两种流行的关系型数据库管理系统(RDBMS),它们都可以用来存储和管理数据,但是它们在某些方面有所不同,下面这篇文章主要给大家介绍了关于PostgreSql数据库与mysql数据库的不同点以及注意事项的相关资料,需要的朋友可以参考下
    2023-05-05
  • postgresql 删除重复数据的几种方法小结

    postgresql 删除重复数据的几种方法小结

    这篇文章主要介绍了postgresql 删除重复数据的几种方法小结,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-02-02
  • 解决PostgreSQL 执行超时的情况

    解决PostgreSQL 执行超时的情况

    这篇文章主要介绍了解决PostgreSQL 执行超时的情况,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-01-01
  • 使用psql操作PostgreSQL数据库命令详解

    使用psql操作PostgreSQL数据库命令详解

    这篇文章主要为大家介绍了使用psql操作PostgreSQL数据库命令详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-08-08
  • PostgreSQL数据库事务实现方法分析

    PostgreSQL数据库事务实现方法分析

    这篇文章主要介绍了PostgreSQL数据库事务实现方法,简单讲述了事务的概念、功能,并结合实例形式分析了PostgreSQL数据库事务的定义方法及相关注意事项,需要的朋友可以参考下
    2018-08-08
  • SQL Server数据迁移至PostgreSQL出错的解释以及解决方案

    SQL Server数据迁移至PostgreSQL出错的解释以及解决方案

    最近对SQL Server到PostgreSQL的数据迁移时出现了问题,返回的错误为:invalid byte sequence for encoding "UTF8": 0x00。经查证pg源代码,该问题引起的原因是sql server的字符类型字段中含有空字符\0,该字符在pg中不支持。
    2014-09-09
  • 快速解决PostgreSQL中的Permission denied问题

    快速解决PostgreSQL中的Permission denied问题

    这篇文章主要介绍了快速解决PostgreSQL中的Permission denied问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-01-01
  • Windows 环境搭建 PostgreSQL 逻辑复制高可用架构数据库服务

    Windows 环境搭建 PostgreSQL 逻辑复制高可用架构数据库服务

    本文主要介绍Windows下搭建PostgreSQL的主从逻辑复制,关于PostgreSQl的相关运维文章,网络上大多都是 Linux 环境下的操作,鲜有在 Windows 环境下配置的教程,所以本文采用 Windows 环境作为演示系统来进行 PostgreSQL 高可用数据库服务的搭建,感兴趣的朋友一起看看吧
    2023-05-05
  • PostgreSQL教程(十二):角色和权限管理介绍

    PostgreSQL教程(十二):角色和权限管理介绍

    这篇文章主要介绍了PostgreSQL教程(十二):角色和权限管理介绍,本文讲解了数据库角色、角色属性、权限、角色成员,需要的朋友可以参考下
    2015-05-05
  • postgresql 实现获取所有表名,字段名,字段类型,注释

    postgresql 实现获取所有表名,字段名,字段类型,注释

    这篇文章主要介绍了postgresql 实现获取所有表名,字段名,字段类型,注释操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-01-01

最新评论