1. trim

删除字符串头部/两端/尾部的指定字符

trim([leading | trailing | both] [characters] from string)

示例:去掉字段首尾多余空格

update dim_product_mapping set pmd_program_name = trim(leading ' ' from pmd_program_name);
update dim_product_mapping set pmd_program_name = trim(trailing ' ' from pmd_program_name);update dim_product_mapping set pmd_project_name = trim(leading ' ' from pmd_project_name);
update dim_product_mapping set pmd_project_name = trim(trailing ' ' from pmd_project_name);update dim_product_mapping set npi_product_name = trim(leading ' ' from npi_product_name);
update dim_product_mapping set npi_product_name = trim(trailing ' ' from npi_product_name);

2. split_part

按指定字符,截取字符串中的某部分

SELECT SPLIT_PART('123','.',1)
//
SELECT SPLIT_PART('123.234.345.456','.',2)
//
SELECT SPLIT_PART('123.234.345.456','.',3)
//
SELECT SPLIT_PART('123.234.345.456','.',4)

实操:
实现 Wn 变成 W(n-2),如图

update dim_pss_calendar set fiscal_week=concat('W',split_part(fiscal_week,'W',2)::int2-2)  where CHAR_LENGTH(fiscal_week)<=3
update dim_pss_calendar set fiscal_week=concat('W',split_part(split_part(fiscal_week,'W',2),'-',1)::int2-2,'-',split_part(split_part(fiscal_week,'W',2),'-',2))  where CHAR_LENGTH(fiscal_week)>3

3. substring

3.1 按下标截取字符串

select substring('FY2021' FROM 3 for 2)

3.2 截取字母部分和数字部分

with my_data(sdk) as (
values('JavaScript123'),('JavaScript12'),('Android3'),('Android32'),('Swift45'),('Swift100')
)
select  sdk
from my_data
order by substring(sdk from '[^\d/]*') , substring(sdk from '\d.*')::int

3.3 字符串正则表达式

符号 含义 实例 实例结果
. 一个点代表一个字符 substring(‘Thomas’ from ‘…$’) mas
% 代表一个或多个字符
_ 代表一个字符
^ 代表字符前 substring(‘Thomas’ from ‘^…’) Thom
$ 代表字符后 substring(‘Thomas’ from ‘…$’) mas
# 分割字符,可以在#"前中后限定选择你最想要的字符 substring(‘Thomas’ from ‘%#“o_a#”_’ for ‘#’ ) oma

参考:
https://blog.csdn.net/mochou111/article/details/100892037

4 contain

postgre没有contain,但是可以采用下面两种等效方法

select * from dim_pss_calendar where week like 'W%' limit 1 ;
select  * from dim_pss_calendar where position('W' in week)>0  limit 1 ;

5 case when

now() between xx and yy

SELECT
npi_product_name,ok2pilot,sle
,case
when now()<ok2pilot then 'Pre-Pilot'
when now() BETWEEN ok2pilot and sle then 'Post-Pilot'
end status
FROM datahub_project_schedule
WHERE product_status='256a0b4c9ee04590ad86ff5ccda9310a'

6. replace

替换源字符串1中指定字符串2为指定字符串3;

SELECT product,max(replace(replace(replace(pss_version,'_',''),'POR',''),'CWV','')::bigint) as version FROM v_business_case_quarterly GROUP BY product

7. coalesce

取第一个不为空的值,不一定要字符串

select COALESCE(null,null); //报错
select COALESCE(null,null,now(),''); //结果会得到当前的时间
select COALESCE(null,null,'',now()); //结果会得到''

postgresql字符串函数全集相关推荐

  1. postgresql 字符串函数

    字符串函数: postgresql中的字符串函数有:计算字符串长度函数.字符串合并函数.字符串替换函数.字符串比较函数.查找指定字符串位置函数等. 1.计算字符串字符数和字符串长度的函数:char_l ...

  2. postgresql 数组函数全集

    1. 分组聚合 ARRAY_AGG(参数1:字段名称) : 聚合同一个字段的多个值为一个数组对象 select product_name_in_sci_pdp,count(1),ARRAY_AGG(n ...

  3. PostgreSQL 字符串分隔函数(regexp_split_to_table、regexp_split_to_array)  发表于 2020-06-01 |  阅读次数: 394

    转载:https://zhangzw.com/posts/20200601.html PostgreSQL 字符串分隔函数(regexp_split_to_table.regexp_split_to_ ...

  4. PostgreSQL常用字符串函数和时间函数:

    一.逻辑操作符: 常用的逻辑操作符有:AND.OR和NOT.其语义与其它编程语言中的逻辑操作符完全相同. 二.比较操作符: 下面是PostgreSQL中提供的比较操作符列表: 操作符 描述 < ...

  5. PostgreSQL 10.1 手册_部分 II. SQL 语言_第 9 章 函数和操作符_9.4. 字符串函数和操作符...

    9.4. 字符串函数和操作符 9.4.1. format 本节描述了用于检查和操作字符串值的函数和操作符.在这个环境中的串包括所有类型character.character varying和text的 ...

  6. MySQL 学习笔记(3)— 字符串函数、数值函数、日期时间函数、流程函数、聚集函数以及分组数据

    1. 字符串函数 MySQL 的常用函数包括字符串函数.数值函数.日期时间函数.流程函数等. SELECT ascii("abc"),char(97),concat("h ...

  7. MySQL 十大常用字符串函数

    作者 | 不剪发的Tony老师       责编 | 欧阳姝黎 出品 | CSDN博客 数据库函数是一种具有某种功能的模块,可以接收零个或多个输入值,并且返回一个输出值.MySQL 为我们提供了许多用 ...

  8. postgresql常用函数及操作符及类型转换

    为什么80%的码农都做不了架构师?>>>    一.逻辑操作符: 常用的逻辑操作符有:AND.OR和NOT.其语义与其它编程语言中的逻辑操作符完全相同. 二.比较操作符: 下面是Po ...

  9. PostgreSQL常用函数以及操作符

    一.逻辑操作符: 常用的逻辑操作符有:AND.OR和NOT.其语义与其它编程语言中的逻辑操作符完全相同. 二.比较操作符: 下面是PostgreSQL中提供的比较操作符列表: 操作符 描述 < ...

最新文章

  1. linux 基础命令一
  2. 几张图帮你弄清楚什么是 RPC
  3. 廖雪峰js教程笔记 2
  4. 【BZOJ3994】[SDOI2015]约数个数和 莫比乌斯反演
  5. 聊天记录存redis还是mysql_一个小小的签到功能,到底用MySQL还是Redis?
  6. angularjs 弹出框 $modal
  7. 台式电脑计算机图标打不开怎么办,电脑计算机图标打不开怎么办
  8. python需不需要编译_python需要编译么
  9. 微信抽奖系统源码 v3.0
  10. U盘大容量存储设备 感叹号,错误10
  11. excel VBA自动设置表格格式
  12. C语言字母大小写转换
  13. tkinter的图片格式
  14. TLD(Tracking-Learning-Detection)一种目标跟踪算法(相关资料很全)
  15. MFC - LNK2001 “无法解析的外部符号”的几种情况及解决办法
  16. 2019计算机小高考成绩,小高考没过怎么办 2021小高考难度如何
  17. js中的escape方法有什么用?
  18. winrar如何打开war文件
  19. Python 函数 sort(),sorted() 之区别及 key=lambda x:x[] 之理解
  20. Codeforces Round #742 (Div. 2) C. Carrying Conundrum(思维)

热门文章

  1. 数据结构-线性表的查找
  2. 元宵节礼包来了,程序员的福利来了!!!
  3. 解锁物联网网关 工业路由器方案 4G路由器网速的影响因素
  4. 计算机学校有雷佳音校区,雷佳音第1天去支付宝上班:接10个会员电话7个当成骗子!...
  5. axios取消请求方式
  6. JDBC 在IDEA中配置mysql8驱动过程详解
  7. ajax同步请求 超时时间问题
  8. 科普贴:SGLTE、SVLTE、CSFB、SRLTE
  9. 公务员备考(十七) 申论
  10. PHP使用topthink/think-queue消息队列实例