结果如下: split_part split_part函数用法: split_part(string text, delimiter text, field int) 按照指定的分隔符分割字符串,返回指定位置的字符 可以将拼接后的字符串以指定分隔符分开。 select id ,split_part(temp1,',',1) ,split_part(temp2,',',1) from (select id ,string_agg(subject,',') a...
SELECT SPLIT_PART('2024-10-01', '-', 1); -- 返回 '2024' SELECT SPLIT_PART('2024-10-01', '-', 2); -- 返回 '10' POSITION 函数: 功能:查找子字符串在目标字符串中的位置(从1开始)。虽然这不是直接截取字符串的函数,但可以用于确定截取的开始位置。 语法:POSITION(substring IN string)...
select name,split_part(unnest(string_to_array(concat_co,',')),'~',1) as 科目, split_part(unnest(string_to_array(concat_co,',')),'~',2) as 成绩 from tmp 1. 2. 四、Pgsql行专列 关键字:sum … filter(where…) (1)获取数据 with 排名表 as (select 'A' as name ,'语文' 科目,...
`split_part()`:此函数返回路径的指定部分。例如,以下查询使用`split_part()`返回文件路径的目录名: SELECTsplit_part('/usr/local/bin/bash', '/', 2); 此查询将返回以下结果: /usr/local. `basename()`:此函数返回文件路径的基本名称。例如,以下查询使用`basename()`返回文件路径的基本名称: SELECT base...
select regexp_split_to_array('1,2,3',',') 月份补足两位 selectlpad('1',2,'0') 取最后一段 selectsplit_part('aa,bb,cc,dd',',',1);selectreverse(split_part(reverse('aa,bb,cc,dd'),',',1));--不知道有几段,倒过来找 递归查询 ...
CREATE OR REPLACE FUNCTION phis2zx_split_part_plus( IN in_inputstr text, -- 传入的原始字符串 IN in_matchregex varchar(64), --需要匹配的字符串 \u0001 \u0027 | in in_subindex integer --需要匹配的下标值 ) RETURNS TEXT LANGUAGE plpgsql ...
也可以用POSITION ('试油' in T1.WELLTESTMETHOD)>0替换 2.decode可以用case when 2 then 2 when 1 then -1替换 SELECT M.DESIGN_ID, MAX( DECODE( M.AUDIT_CODE, 2, 2, 1,- 1, 0, 0 ) ) AUDIT_CODE FROM PC_BUILD_DAILY_REPORT_DAY M ...
Postgre与Oracle编写SQL的区别与转换方法 Postgre与Oracle编写SQL的区别与转换⽅法 1.instr函数可以⽤like替换 也可以⽤ POSITION ('试油' in T1.WELL TEST METHOD)>0替换 2.decode可以⽤case when 2 then 2 when 1 then -1替换 SELECT M.DESIGN_ID,MAX( DECODE( M.AUDIT_CODE, 2, 2, 1,- 1, ...
(split_part(col1,''',v_delim,''',', i,'))) =0 THEN null ELSE coalesce((trim(split_part(col1,''',v_delim,''',', i,'))),''')::',rec.data_type,' END as ',rec.col_list,',') ; END case; i :=i+1; end loop; -- raise notice ...
3、group by + string_agg + split_part(分组,行转列,字符切割) 环境准备 CREATE TABLE sales ( year INTEGER, quarter INTEGER, sales_amount NUMERIC ); INSERT INTO sales VALUES (2018, 1, 100), (2018, 2, 200), (2018, 3, 300),