Mysql
 sql >> Database >  >> RDS >> Mysql

Scrivi in ​​maiuscolo la prima lettera di più parole di una colonna senza CAP_FIRST

Questa è una query che funziona:

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;

Questo il risultato:

Name
Firstname Lastname
Firstname Lastname
Firstname Lastname
Firstname Lastname

Per AGGIORNARE l'uso della colonna,

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)));

Saluti