回答

收藏

第一次出现字符后剪切字符串

技术问答 技术问答 246 人阅读 | 0 人回复 | 2023-09-14

我有类似’keepme:cutme’或’string-without-separator’之类的字符串,应分别成为’keepme’和’string-- l+ D& y# L( A+ G1 O7 J3 i6 n
without-separator’。可以在PostgreSQL中完成吗?我试过了:
: G% G4 ?0 S5 t! p" v3 tselect substring('first:last' from '.+:')
, K, ?* W; J* W. @- w8 a- w# J( O但这:会:留在字符串中,如果字符串中没有字符串,它将无法正常工作。
% M( z$ b  I' P7 P* p3 Z               
1 j6 u- \/ i" }; F) h3 z解决方案:8 \* \1 `% L3 ?. }; Y7 n( P
                ' R! g' s8 n% o
0 R  ]! i! G+ m, d8 H( {' K

; F1 `$ f. Y; v3 o  k3 N# `0 `  v                用途2 h& A; ^' M7 E4 w: j7 O$ `2 H9 G2 [
split_part()0 D7 t6 I6 v" g5 w. U$ y; R9 Z/ o
SELECT split_part('first:last', ':', 1) AS first_part  _% Z7 p& u, t
如果分隔符不存在,则返回整个字符串。而且很容易获得第二或第三部分等。( Q1 {: {9 w: c8 m/ H; c
比使用正则表达式匹配的函数快得多。而且由于我们有固定的定界符,所以我们不需要使用正则表达式。
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则