表列值的字符串修改

问题描述 投票:0回答:1

我需要一个从“abc xyz-1234”等列值到“xyz,abc”的字符串的解决方案。 上述解决方案的 Oracle SQL 查询是什么?

选择 SUBSTR(COLUMN_NAME, INSTR(' ',COLUMN_NAME)+1, 长度(5) -SUBSTR('%[^a-z,A-Z, ]%',COLUMN_NAME)-1) +',' + SUBSTR(COLUMN_NAME, 1 , INSTR(' ',COLUMN_NAME)-1) from table_name;我在 Oracle SQL 中收到无效数字错误。

sql string oracle substr sql-function
1个回答
0
投票

您可以使用:

SELECT SUBSTR(column_name, spos + 1, cpos - spos)
       || ','
       || SUBSTR(column_name, 1, spos - 1) AS formatted_column_name
FROM   (
  SELECT column_name,
         INSTR(' ',column_name) AS spos,
         INSTR(' ',column_name) AS cpos
  FROM   table_name
);
© www.soinside.com 2019 - 2024. All rights reserved.