2016-06-17 11 views
2

Ich brauche eine Abfrage, in der ich die Zeichenfolge vor dem bestimmten Zeichen erhalten muss. In meinem Fall ist der Punkt (.). Und wenn es keinen Punkt gibt, sollte der ganze Wert zurückgegeben werden.MySQL bekommen alle Zeichen vor bestimmten Zeichen, wenn nicht, dann der ganze Wert

Wenn die Werte Titanic.Movie und Avatar sind, dann ist die erwartete Ausgabe Titanic und Avatar.

Was ich versuchte, ist mir die Teilzeichenfolge vor dem Punkt (.), Aber wenn es keinen Punkt gibt, dann gibt es einen leeren Wert zurück.

SELECT 
    LEFT(movie, INSTR(movie, '.') - 1) 
FROM 
    movie_list; 

Antwort

2

können Sie verwenden SUBSTRING_INDEX:

SELECT SUBSTRING_INDEX(movie, '.', 1) movie 
FROM movie_list; 
Verwandte Themen