如何在字符串中打印字符串? 我有像这样的行数据
CITY_NAME ABCDE / DEF / Report_names /的名称
现在我想只打印在report_names之后的字符串
答案 0 :(得分:1)
对于像这样的简单练习,最好学习,然后使用标准字符串函数INSTR
和SUBSTR
。 instr
会在较长的字符串中找到您要搜索的子字符串的第一个字母的位置。因此,如果您搜索'Report_names/'
,您会找到R
的位置。 "姓名"的第一个字母是右边的13个位置。这将是实际想要的子字符串的第一个字母,即"名称"。有了这个,你应该能够理解下面的查询:
-- begin TEST DATA (not part of the solution to the problem)
with
test_data ( str ) as (
select 'City_name Abcde/def/Report_names/Ann, Helen, Mary' from dual
)
-- end of TEST DATA; SQL query begins BELOW THIS LINE
-- use your actual table and column names instead of "test_data" and "str"
select str, substr( str, instr(str, 'Report_names/') + 13 ) as names
from test_data
;
STR NAMES
------------------------------------------------- --------------------
City_name Abcde/def/Report_names/Ann, Helen, Mary Ann, Helen, Mary
1 row selected.