例如,我已经创建了一个表:
CREATE TABLE CAR
(
LEFT VARCHAR(50),
RIGHT VARCHAR(50)
)
然后将一些值插入表CAR:
INSERT INTO CAR (LEFT, RIGHT)
VALUES ('super car', 'car super')
现在,我想通过使用regexp_replace(我确实不熟悉)编写一个select语句,以相反的顺序在LEFT列中以及两个单独的输出列中显示两个单词。我将不胜感激任何建议!谢谢!
输出应该看起来像这样:
column1 column2
-------------------
car super
您可以使用regexp_substr
函数分割字符串。
select regexp_substr('super car', '([[:space:]].*)', 1, 1), regexp_substr('super car', '(.*?)([[:space:]])', 1, 1) from dual
使用regexp_replace
功能。
select regexp_replace('super car','(.*?)([[:space:]])'), regexp_replace('super car', '([[:space:]].*)') from dual
CREATE TABLE car (
left VARCHAR(50),
right VARCHAR(50)
)
insert into CAR(LEFT,RIGHT)
values('super car', 'car super');
select regexp_replace(left,'(.*?)([[:space:]])') AS COLUMN1,regexp_replace(left, '([[:space:]].*)') AS COLUMN2 from CAR;