postgresql字符串函数全集
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字符串函数全集相关推荐
- postgresql 字符串函数
字符串函数: postgresql中的字符串函数有:计算字符串长度函数.字符串合并函数.字符串替换函数.字符串比较函数.查找指定字符串位置函数等. 1.计算字符串字符数和字符串长度的函数:char_l ...
- postgresql 数组函数全集
1. 分组聚合 ARRAY_AGG(参数1:字段名称) : 聚合同一个字段的多个值为一个数组对象 select product_name_in_sci_pdp,count(1),ARRAY_AGG(n ...
- 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_ ...
- PostgreSQL常用字符串函数和时间函数:
一.逻辑操作符: 常用的逻辑操作符有:AND.OR和NOT.其语义与其它编程语言中的逻辑操作符完全相同. 二.比较操作符: 下面是PostgreSQL中提供的比较操作符列表: 操作符 描述 < ...
- PostgreSQL 10.1 手册_部分 II. SQL 语言_第 9 章 函数和操作符_9.4. 字符串函数和操作符...
9.4. 字符串函数和操作符 9.4.1. format 本节描述了用于检查和操作字符串值的函数和操作符.在这个环境中的串包括所有类型character.character varying和text的 ...
- MySQL 学习笔记(3)— 字符串函数、数值函数、日期时间函数、流程函数、聚集函数以及分组数据
1. 字符串函数 MySQL 的常用函数包括字符串函数.数值函数.日期时间函数.流程函数等. SELECT ascii("abc"),char(97),concat("h ...
- MySQL 十大常用字符串函数
作者 | 不剪发的Tony老师 责编 | 欧阳姝黎 出品 | CSDN博客 数据库函数是一种具有某种功能的模块,可以接收零个或多个输入值,并且返回一个输出值.MySQL 为我们提供了许多用 ...
- postgresql常用函数及操作符及类型转换
为什么80%的码农都做不了架构师?>>> 一.逻辑操作符: 常用的逻辑操作符有:AND.OR和NOT.其语义与其它编程语言中的逻辑操作符完全相同. 二.比较操作符: 下面是Po ...
- PostgreSQL常用函数以及操作符
一.逻辑操作符: 常用的逻辑操作符有:AND.OR和NOT.其语义与其它编程语言中的逻辑操作符完全相同. 二.比较操作符: 下面是PostgreSQL中提供的比较操作符列表: 操作符 描述 < ...
最新文章
- linux 基础命令一
- 几张图帮你弄清楚什么是 RPC
- 廖雪峰js教程笔记 2
- 【BZOJ3994】[SDOI2015]约数个数和 莫比乌斯反演
- 聊天记录存redis还是mysql_一个小小的签到功能,到底用MySQL还是Redis?
- angularjs 弹出框 $modal
- 台式电脑计算机图标打不开怎么办,电脑计算机图标打不开怎么办
- python需不需要编译_python需要编译么
- 微信抽奖系统源码 v3.0
- U盘大容量存储设备 感叹号,错误10
- excel VBA自动设置表格格式
- C语言字母大小写转换
- tkinter的图片格式
- TLD(Tracking-Learning-Detection)一种目标跟踪算法(相关资料很全)
- MFC - LNK2001 “无法解析的外部符号”的几种情况及解决办法
- 2019计算机小高考成绩,小高考没过怎么办 2021小高考难度如何
- js中的escape方法有什么用?
- winrar如何打开war文件
- Python 函数 sort(),sorted() 之区别及 key=lambda x:x[] 之理解
- Codeforces Round #742 (Div. 2) C. Carrying Conundrum(思维)