繁体   English   中英

如何使用正则表达式编写 SQL select 语句,该语句将以相反的顺序显示 LEFT 中的两个单词

[英]How do I write a SQL select statement using regular expressions that will display the two words in LEFT in reverse order

例如我创建了一个表:

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

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;

您可以使用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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM