有没有办法找到最后一个子串?

时间:2013-06-21 02:07:44

标签: mysql search substring

我的大脑可能真的很累但我似乎无法解决这个简单的问题..我想从列中提取分隔符中的最后一个子字符串,例如','?我正在考虑使用REVERSE或RIGHT ......但结果却很奇怪......

假设我在表LOANS中有一个表格列'DESCRIPTION',带有一个条目

Changed Loan Laptop from "IT-X130E-10" to "IT-X130E-9".

我想要最后一个子串

IT-X130E-9

在分隔符内“”希望现在更清楚

2 个答案:

答案 0 :(得分:1)

关键是reverse()和一些蛮力:

select replace(replace(right(val, instr(substring(reverse(val), 3, 100), '"')+2), '"', ''), '.', '')
from (select 'Changed Loan Laptop from "IT-X130E-10" to "IT-X130E-9".' as val) t

这假设该字符串不包含'"''.'

答案 1 :(得分:1)

可以尝试SUBSTRING INDEX(str,delim,count)

SELECT SUBSTRING_INDEX(
    SUBSTRING_INDEX('yourString', '"', -2), '"', 1);