Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Anfangsbuchstaben mehrerer Wörter einer Spalte ohne CAP_FIRST großschreiben

Dies ist eine Abfrage, die funktioniert:

SELECT 
CONCAT(
    UPPER(SUBSTRING(Name,1,1)),
    LOWER(SUBSTRING(Name,2,Locate(' ', Name)-1)),
    UPPER(SUBSTRING(Name,Locate(' ', Name)+1,1)),
    LOWER(SUBSTRING(Name,Locate(' ', Name)+2)))
FROM NameTable;

Das ist das Ergebnis:

Name
Firstname Lastname
Firstname Lastname
Firstname Lastname
Firstname Lastname

Um die Spalte zu aktualisieren, verwenden Sie

UPDATE NameTable 
SET NameTable.Name = CONCAT(
    UPPER(SUBSTRING(Name,1,1)),
    LOWER(SUBSTRING(Name,2,Locate(' ', Name)-1)),
    UPPER(SUBSTRING(Name,Locate(' ', Name)+1,1)),
    LOWER(SUBSTRING(Name,Locate(' ', Name)+2)));

Viele Grüße