5

〜20kのファイル名のテーブルがあります。個別の拡張機能のリストを選択するにはどうすればよいですか?ファイル名拡張子は、最後の後の大文字と小文字を区別しない文字列と見なすことができます.

4

3 に答える 3

11

substring_indexを使用できます:

SELECT DISTINCT substring_index(column_containing_file_names,'.',-1) FROM table

-1は、「。」の検索を開始することを意味します。右側から。

于 2012-06-19T01:19:42.810 に答える
1

MySQLや他のデータベースには非常にクールで強力な機能があります。データ例を選択するときに正規表現構文を組み込む機能です。

テーブルから何かを選択WHERE列REGEXP'regexp'

これを参照してくださいhttp://www.tech-recipes.com/rx/484/use-regular-expressions-in-mysql-select-statements/

だからあなたはあなたが望むものを選択するためにパターンを書くことができます。

于 2012-06-19T01:21:11.237 に答える
0

@bnvdarklordの答えは正しいですが、結果セットに拡張子が含まれていないファイル名が含まれるため、拡張子パターンのみが必要な場合は、以下のクエリを使用してください。

SELECT DISTINCT substring_index(column_containing_file_names,'.',-1) FROM table where column_containing_file_names like '%.%';
于 2017-11-01T05:51:51.757 に答える