如何在Oracle SQL中拆分列值

ou6hu8tu  于 6个月前  发布在  Oracle
关注(0)|答案(2)|浏览(102)

如何分割一个没有空间或任何其他空间的列值。我搜索了论坛,但我无法找到我的方案的解决方案。

这是我的剧本

ID   Column_Value
011  abcdefgh

字符串

结果应为

Column_Value1    Column_Value2
abcd             efgh

ycl3bljg

ycl3bljg1#

假设你只想从中间分割一列,你可以用substrlength的组合来实现:

SELECT SUBSTR(column_value, 1, LENGTH(column_value) / 2),
       SUBSTR(column_value, LENGTH(column_value) / 2 + 1)
FROM   mytable

字符串
SQLFiddle

yshpjwxd

yshpjwxd2#

如果你想根据长度和字符数拆分字符串,那么使用SUBSTR如下:

SQL> with data(str) as(
  2  select 'abcdefgh' from dual
  3  )
  4  select substr(str, 1, 4) col1,
  5         substr(str, length(substr(str, 1, 4)) +1) col2
  6  from data;

COL1 COL2
---- ----
abcd efgh

SQL>

字符串
在上面的例子中,你可以将4的值更改为你想要的值。记住,两者并不互斥。

相关问题