@马克·B很近。在MySQL中,以下语句返回12:
SELECT CHAR_LENGTH("Have_a_good_day") - LOCATE('_', REVERSe("Have_a_good_day"))+1;预期可能使用该值,以下语句提取最后一个下划线(即_)之前字符串的左侧部分:
SELECT LEFt("first_middle_last", CHAR_LENGTH("first_middle_last") - LOCATE('_', REVERSe("first_middle_last")));结果是“ first_middle”。如果要包括定界符,请使用:
SELECT LEFt("first_middle_last", CHAR_LENGTH("first_middle_last") - LOCATE('_', REVERSe("first_middle_last"))+1);如果他们增强了LOCATE功能,可以选择从右侧开始搜索,那就太好了。
如果要在最后一个空格后的字符串的右侧部分,一个更好的解决方案是:
SELECT SUBSTRING_INDEX("first_middle_last", '_', -1);这将返回“ last”。



