Existe um comando MySQL para converter uma string em minúscula?


123

Eu tenho um banco de dados MySQL de palavras-chave que atualmente são maiúsculas e minúsculas. No entanto, quero convertê-los todos para minúsculas. Existe um comando fácil para fazer isso, usando o MySQL ou MySQL e PHP?


Eu acho que você também está usando um dump de um amigo que achou que seria uma boa ideia armazenar nomes de usuário com letras maiúsculas.
Buffalo4

Respostas:


248
UPDATE table SET colname=LOWER(colname);

se o agrupamento de uma coluna estiver definido como ascii_bin, isso não converterá tudo automaticamente para minúsculas ou estou enganado?
Oldboy

28

Sim, a função é LOWER () ou LCASE () (ambos fazem a mesma coisa).

Por exemplo:

select LOWER(keyword) from my_table


9

Você pode usar as funções LOWER () ou LCASE ().

Eles podem ser usados ​​tanto em colunas como em literais de string. por exemplo

SELECT LOWER(column_name) FROM table a;

ou

SELECT column_name FROM table a where column = LOWER('STRING')

LCASE () pode ser substituído por LOWER () nos dois exemplos.



1

Basta usar:

UPDATE `tablename` SET `colnameone`=LOWER(`colnameone`);  

ou

UPDATE `tablename` SET `colnameone`=LCASE(`colnameone`);

Ambas as funções funcionarão da mesma maneira.


0

É interessante notar que o nome do campo é renomeado e se você o referenciar em uma função, você não receberá seu valor a menos que dê um apelido a ele (que pode ser seu próprio nome)

Exemplo: eu uso uma função para obter dinamicamente um valor de nome de campo:

function ColBuilder ($field_name) {

While ($result = DB_fetch_array($PricesResult)) {
$result[$field_name]
}

}

minha consulta sendo: SELECT LOWER (itemID),… etc.

precisava ser alterado para: SELECT LOWER (itemID) como itemID ,… etc.


Isso não soa como uma resposta, ou?
Dieter Meemken 19/09/18

ele completa a resposta, avisando que o uso de LOWER () em situações específicas pode não fornecer o resultado esperado sem alias adicional.
HD FrenchFeast

-3

use a LOWERfunção para converter dados ou string em minúsculas.

select LOWER(username) from users;

ou

select * from users where LOWER(username) = 'vrishbh';

6
O que isso acrescenta que não estava nas respostas dos cinco anos de idade ?
23414 Andrew Andrew

-6

Eu acredito em php você pode usar

strtolower() 

então você pode criar um php para ler todas as entradas da tabela e usar esse comando para imprimi-las em letras minúsculas


O OP solicitou o MySQL ou MySQL / PHP.
starryknight64
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.