我想从MySQL中包含文件名的字段中提取文件扩展名.这意味着我需要找到最终的'.' 该字段中的字符,然后提取所有内容.以下代码示例部分有效:
SELECT LCASE(RIGHT(filename, LENGTH(filename) - LOCATE('.', filename)))
FROM mytable;
Run Code Online (Sandbox Code Playgroud)
除了它在文件名包含多个'.'的情况下,它会提取太多.在大多数编程语言中,我希望找到一个能让我最合适的函数,但是我找不到MySQL的任何这样的东西,我也找不到那些遇到同样问题并找到解决方法的人的讨论.
Mar*_*tin 17
有substring_index函数 - 它完全符合您的要求:
SELECT substring_index(filename, '.', -1) FROM mytable
Run Code Online (Sandbox Code Playgroud)