PostgreSQL之SQL函数介绍及实践(二)

更多精彩内容,请登录:ke.sandata.com.cn

RDBMS作为管理数据安全,共享,可靠的软件管理系统,需要按照不同的数据模型组织和存储数据,为了方便用户处理数据,任何数据库为了简化业务开发复杂度,提供了丰富的不同数据类型的处理函数。而PostgreSQL除了支持 SQL 标准所支持的函数外,也可以使用不同的服务器编程接口来实现自定义函数,以针对不同的业务需要进行针对性开发。今天来给大家介绍一下PostgreSQL中的字符串处理函数。

一、字符串处理函数

1.1字符串操作符

PostgreSQL对于字符串的操作符,支持关系型数据库中通用的符号 ||,用来多个字符串之间或者空字符和多个字符串之间的连接。
示例:

hrdb=# -- || 为字符串连接操作符
hrdb=# SELECT 'Postgre' || 'SQL' AS result;
   result   
------------
 PostgreSQL
(1 row)

hrdb=# SELECT 'PostgreSQL' || ' ' || 'is most advanced open source ORDBMS !' AS result;
                      result                      
--------------------------------------------------
 PostgreSQL is most advanced open source ORDBMS !
(1 row)

1.2字符串函数

字符串位数长度函数
bit_length(string)
返回字符串在数据库中的位数长度
示例:

hrdb=# --字符串位数函数 bit_length(string)
hrdb=# SELECT bit_length('PostgreSQL') AS result;
 result 
--------
     80
(1 row)

统计字符长度函数
char_length(string) 或 character_length(string)
返回传入字符串的字符个数
示例:

hrdb=# --字符串字符长度函数 char_length() 或 character_length()
hrdb=# SELECT char_length('PostgreSQL') AS result;
 result 
--------
     10
(1 row)

hrdb=# SELECT character_length('PostgreSQL 12') AS result;
 result 
--------
     13
(1 row)

温馨提示:
注意,使用该函数统计字符串字符长度,将包含空白字符,如果需要将空白字符排除统计,需要做相应的处理。

在这里插入图片描述

大小写转换函数
lower(string) 和upper(string)
返回将传入的字符串转换成大(小)写
示例:

hrdb=# --大小写转换函数 lower()和upper
hrdb=# SELECT lower('POSTGRESQL') AS result;
   result   
------------
 postgresql
(1 row)

hrdb=# SELECT upper('postgresql') AS result;
   result   
------------
 POSTGRESQL
(1 row)

字符串首字母转换为大写函数
initcap(string)
返回传入字符串的首字母为大写的字符串
示例:

hrdb=# --字符串首字母大写函数 initcap()
hrdb=# SELECT initcap('postgreSQL') AS result;
   result   
------------
 Postgresql
(1 row)

替换子串函数
overlay()
返回将起始位置到结束位置使用指定的子串替换
示例:

hrdb=# --将起始位置到结束位置的字符使用指定的字符替换
hrdb=# SELECT overlay('Postgresql' placing 'SQL' from 8 for 10);
  overlay   
------------
 PostgreSQL
(1 row)
hrdb=# --使用该函数如果没有指定结束位置,将根据指定字符串长度
hrdb=# --进行替换
hrdb=# SELECT overlay('http://www.google.com' placing 'https' from 1);
        overlay        
-----------------------
 https//www.google.com
(1 row)

字符串所占字节统计函数
octet_length()
返回字符串所占字节的长度
示例:

--返回字符串所占字节长度函数 octet_length()
SELECT octet_length('PostgreSQL') AS result;
SELECT octet_length('开源数据库') AS result;

温馨提示:
对于中文字符,PostgreSQL 默认使用 UTF8 编码,一个中文占用3个字节。

查找指定字符或字符串在字符串中的位置函数
position()
示例:

hrdb=# --查找指定字符或字符串在字符串中的位置函数
hrdb=# SELECT position('pos' in '$PGDATA/postgresql') AS result;
 result 
--------
      9
(1 row)

按指定的位置截取指定字符或字符串函数
substring() 或 substr()
示例:

hrdb=# --按指定的位置截取指定字符或字符串函数 substring() 或 substr()
hrdb=# SELECT substring('https://www.baidu.com',9) AS result;
    result     
---------------
 www.baidu.com
(
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值