我试图找到包含"&"字符和就像带有"&"字符,但不包含"&;&&;"之后的任何字符。以下例子中的字符。这两行将从items表中的同一项列中选择。我希望这两行都有"&"以及没有"&"返回。如果没有"& &&"的项的行,我仍然希望该行返回为空白或null。
我下面的代码目前选择带有"&"并选择"&"字符,但我需要帮助弄清楚如何找到没有"&""&"之后的一个或多个字符基于当前选择的数据。
<表类>
项目
tbody><<tr>abc& 123年 def& 456 xyz& 789 123456 123457 表类>
你可以这样做:
with items as
(
select 'abc'||chr(38)||'123' as item from dual union all
select 'def'||chr(38)||'456' as item from dual union all
select 'xyz'||chr(38)||'789' as item from dual union all
select '123456' as item from dual union all
select '123457' as item from dual
)
select item, decode(regexp_substr(item, '[^&]+', 1, 1),item,' ',regexp_substr(item, '[^&]+', 1, 1)) as Trimmed_Item
from items
ITEM TRIMMED_ITEM
------- -------------
abc&123 abc
def&456 def
xyz&789 xyz
123456
123457
谢谢