Atualize todos os valores de uma coluna para minúsculas

100

Vamos dizer que tenho algo assim

uid    tag
1      HeLLo
2      heLLO
3      HELLO
4      hello

Como posso atualizar todos os valores na coluna "tag" para:

uid    tag
1      hello 
2      hello 
3      hello 
4      hello 

usando MySQL?

Adam Ramadhan
fonte

Respostas:

243

Consulte http://dev.mysql.com/doc/refman/5.0/en/string-functions.html#function_lower

UPDATE table_name SET tag = LOWER(tag)
Rippo
fonte
3
Observe que isso não funciona direito quando seu banco de dados usa correspondência que não diferencia maiúsculas de minúsculas.
EmeraldD.
Como isso funcionará com endereços de e-mail? [email protected] O @ mudará?
Björn C
2
UPDATE table_name SET tag = BINARY LOWER(tag)para correspondência sem distinção entre maiúsculas e minúsculas.
Enyby
2
@ BjörnC - superior / inferior muda apenas letras; todos os outros personagens permanecem inalterados.
Toolmaker Steve
@Rippo Recebo este erro quando tento esta consultaHINT: No function matches the given name and argument types. You might need to add explicit type casts.
Luna Lovegood,
68

MAIS BAIXO()

update table set tag = LOWER(tag)
Shakti Singh
fonte
Eu recebo este erro quando tento esta consulta SUGESTÃO: Nenhuma função corresponde ao nome e tipos de argumento fornecidos. Você pode precisar adicionar conversões de tipo explícitas.
Luna Lovegood,
4

Versão para correspondência sem distinção entre maiúsculas e minúsculas e incluindo uma cláusula "WHERE" se você não quiser atualizar a coluna inteira:

UPDATE table 
SET tag = LOWER(tag)
WHERE LOWER(tag) != tag
COLLATE Latin1_General_CS_AS

A linha COLLATE fará com que funcione se o seu banco de dados usar correspondência que não diferencia maiúsculas de minúsculas, como o meu faz.

Susie
fonte
Eu recebo este erro quando tento esta consulta SUGESTÃO: Nenhuma função corresponde ao nome e tipos de argumento fornecidos. Você pode precisar adicionar conversões de tipo explícitas.
Luna Lovegood,
3

Experimente isto:

update `table` set `column_name` = LOWER(column_name without quotation)
Anjani Barnwal
fonte