Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Capitalizar a primeira letra de várias palavras de uma coluna sem CAP_FIRST


Esta é uma consulta que funciona:
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;

Este o resultado:
Name
Firstname Lastname
Firstname Lastname
Firstname Lastname
Firstname Lastname

Para ATUALIZAR o uso da coluna,
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)));

Cumprimentos