此列中有此值,在下面我已显示我用来从该字段提取数据。
with A4 as
(
select 'govinda j/INDIA_MH/9975215025' as employee_name from dual
)
select employee_name ,
TRIM(SUBSTR(upper(A4.employee_name),1,INSTR(A4.employee_name,'/',1,1)-1)) AS employee_name1,
TRIM(SUBSTR(upper(A4.employee_name),INSTR(A4.employee_name,'/',1,1)+1,INSTR(A4.employee_name,'_',1,1)-INSTR(A4.employee_name,'/',1,1)-1)) AS Country,
TRIM(SUBSTR(upper(A4.employee_name),INSTR(A4.employee_name,'_',1,1)+1,INSTR(A4.employee_name,'/',1,2)-INSTR(A4.employee_name,'_',1,1)-1)) AS State
from A4
输出
EMPLOYEE_NAME EMPLOYEE_NAME1 COUNTRY STATE
govinda j/INDIA_MH/9975215025 GOVINDA J INDIA MH
现在我们的数据库系统已更改,我正努力在postgres中实现相同的目标。
答案 0 :(得分:1)
一个选项是split_part()
:
select split_part(employee_name, '/', 1) as employee_name1,
split_part(split_part(employee_name, '/', 2), '_', 1) as country,
split_part(split_part(employee_name, '/', 2), '_', 2) as state
from a4