如何在 substr (oracle sql) 中应用转义字符 (%)?
how to apply escape character (%) in substr (oracle sql)?
我试过在百分号前提取信息,但不知道怎么做。
我的 table 看起来像这样:
NAME
----------
20% on xy
----------
buy 2 get 1 free
----------
incentive 15% off
--> 从这个列表中我只想在单独的列中看到第一行的 20% 和第三行的 15%
这是我试过的:
SELECT case when NAME like '%\%%' ESCAPE '\'
then substr('%\%%' ESCAPE '\', -2)
else 0
end as xy
FROM Data d
我希望你明白我的意思...谁能帮我解决这个问题?非常感谢!!
抱歉格式错误,我是新手..
我认为你的 "LIKE" 部分是正确的,但 substr 需要修正:
SELECT case when NAME like '%\%%' ESCAPE '\'
then reverse(substr(reverse(NAME), instr(reverse(NAME), '%'), 3 ))
else '0'
end as xy
FROM Data d
我试过在百分号前提取信息,但不知道怎么做。 我的 table 看起来像这样:
NAME
----------
20% on xy
----------
buy 2 get 1 free
----------
incentive 15% off
--> 从这个列表中我只想在单独的列中看到第一行的 20% 和第三行的 15%
这是我试过的:
SELECT case when NAME like '%\%%' ESCAPE '\'
then substr('%\%%' ESCAPE '\', -2)
else 0
end as xy
FROM Data d
我希望你明白我的意思...谁能帮我解决这个问题?非常感谢!!
抱歉格式错误,我是新手..
我认为你的 "LIKE" 部分是正确的,但 substr 需要修正:
SELECT case when NAME like '%\%%' ESCAPE '\'
then reverse(substr(reverse(NAME), instr(reverse(NAME), '%'), 3 ))
else '0'
end as xy
FROM Data d