Database 将值与数据列分开

Database 将值与数据列分开,database,plsql,Database,Plsql,我有一个列,其中包含如下数据 I~A~G~S 如何使用select查询将它们分开 输出: 更新 有关最新问题 有关最新问题 如果您使用的是oracle数据库,则应如下所示: select replace('I~A~G~S','~',' ') as x from dual; select replace(<fieldname>,'~',' ') from <tablename> 至于将字符串拆分为不同行的问题,请检查下面的查询 SELECT trim(regexp_s

我有一个列,其中包含如下数据

I~A~G~S
如何使用select查询将它们分开

输出: 更新

有关最新问题

有关最新问题


如果您使用的是oracle数据库,则应如下所示:

select replace('I~A~G~S','~',' ') as x from dual;

select replace(<fieldname>,'~',' ') from <tablename>
至于将字符串拆分为不同行的问题,请检查下面的查询

SELECT trim(regexp_substr(replace('I~A~G~S','~',','), '[^,]+', 1, LEVEL)) str_2_tab
  FROM dual
  CONNECT BY LEVEL <= regexp_count(replace('I~A~G~S','~',','), ',')+1;

如果您使用的是oracle数据库,则应如下所示:

select replace('I~A~G~S','~',' ') as x from dual;

select replace(<fieldname>,'~',' ') from <tablename>
至于将字符串拆分为不同行的问题,请检查下面的查询

SELECT trim(regexp_substr(replace('I~A~G~S','~',','), '[^,]+', 1, LEVEL)) str_2_tab
  FROM dual
  CONNECT BY LEVEL <= regexp_count(replace('I~A~G~S','~',','), ',')+1;

这是你期待的吗?从dual中选择替换'I~A~G~S'、'~'、''为x;您可以在oracle中使用replace函数。您将~替换为空格。可能存在重复项这是您所期望的吗?从dual中选择替换'I~A~G~S'、'~'、''为x;您可以在oracle中使用replace函数。您可以将~替换为空格。如果可能重复,我可以获得与其他-2行中的值相同的值。就像我在第一排,然后A在第二排,你是什么意思?像I A G S*2第一排I,第二排A,第三排G,第四排S@Java_Alert我已经更新了上面关于将字符串拆分为不同行的答案。请检查我们能不能把I~A~G~S分成不同的变量,比如收入=I,年龄=A,性别=G和状态=S;我可以得到不同-2行中相同的值吗。就像我在第一排,然后A在第二排,你是什么意思?像I A G S*2第一排I,第二排A,第三排G,第四排S@Java_Alert我已经更新了上面关于将字符串拆分为不同行的答案。请检查我们能不能把I~A~G~S分成不同的变量,比如收入=I,年龄=A,性别=G和状态=S;不客气。如果答案已回答所有问题,请标记为已回答。我们可以把I~A~G~S分成不同的变量,比如收入=I,年龄=A,性别=G和状态=S;不客气。如果答案已回答所有问题,请标记为已回答。我们可以把I~A~G~S分成不同的变量,比如收入=I,年龄=A,性别=G和状态=S;
SELECT trim(regexp_substr(replace('I~A~G~S','~',','), '[^,]+', 1, LEVEL)) str_2_tab
  FROM dual
  CONNECT BY LEVEL <= regexp_count(replace('I~A~G~S','~',','), ',')+1;