我有一个~20k文件名表。如何选择不同扩展名列表?在最后.
答案 0 :(得分:10)
您可以使用substring_index:
SELECT DISTINCT substring_index(column_containing_file_names,'.',-1) FROM table
-1意味着它将开始搜索'。'从右侧。
答案 1 :(得分:1)
在MySQL和其他数据库中有一个非常酷和强大的功能是在选择数据时能够合并正则表达式语法
SELECT FROM FROM WHERE列REGEXP'regexp'
请参阅此http://www.tech-recipes.com/rx/484/use-regular-expressions-in-mysql-select-statements/
所以你可以编写模式来选择你想要的东西。
答案 2 :(得分:0)
@bnvdarklord给出的答案是正确的,但它会包含在结果集中没有扩展名的文件名,因此如果您只想使用扩展模式,请使用以下查询。
SELECT DISTINCT substring_index(column_containing_file_names,'.',-1) FROM table where column_containing_file_names like '%.%';