MySQL: SUBSTRING_INDEX

SUBSTRING_INDEX ist eine praktische funktion um einen String in MySQL anhand eines trennzeichen zu trennen.

In meinem Konkreten Beispiel habe ich folgende Tabellen in einer Datenbank:

tabellen_enums
tabellen_enumwerte
tabellen_klassen
tabellen_kommentare
tabellen_methoden
tabellen_namespace
tabellen_parameter
tabellen_propertys
test_enums
test_enumwerte
test_klassen
test_kommentare
test_methoden
test_namespace
test_parameter
test_propertys

Anhand dieser Tabellen-Namen möchte ich nun die Projekt-Namen herausfinden, um diese dann auf einer Webseite auflisten zu können.
Der Projekt-Name ist immer der Prefix, vor dem underscore („tabellen“ und „test“).

Mit folgendem SQL-Query:

1
2
3
4
5
SELECT 
	SUBSTRING_INDEX(TABLE_NAME,'_',1) AS TAB 
FROM information_schema.TABLES 
	WHERE table_schema='dokumentation' 
GROUP BY TAB

Werden mir jetzt nur noch diese Projekt-Namen gelistet, weil nur noch der erste Teil, vor dem underscore – und das Ergebnis gruppiert nach dem Projekt-Namen von MySQL ausgegeben wird:

TAB
-----
tabellen
test

leave your comment


*

Unterstütze den Frickelblog!