Esiste un comando MySQL per convertire una stringa in minuscolo?


123

Ho un database MySQL di parole chiave che attualmente sono composte da maiuscole e minuscole. Tuttavia, voglio convertirli tutti in minuscolo. Esiste un comando semplice per farlo, utilizzando MySQL o MySQL e PHP?


Immagino che tu stia anche usando un dump di un amico che ha pensato che sarebbe stata una buona idea memorizzare i nomi utente con lettere maiuscole.
Buffalo

Risposte:


248
UPDATE table SET colname=LOWER(colname);

se il confronto di una colonna è impostato su ascii_bin, non convertirà automaticamente tutto in minuscolo o mi sbaglio?
oldboy

28

Sì, la funzione è LOWER () o LCASE () (entrambi fanno la stessa cosa).

Per esempio:

select LOWER(keyword) from my_table


9

È possibile utilizzare le funzioni LOWER () o LCASE ().

Questi possono essere usati sia su colonne che stringhe letterali. per esempio

SELECT LOWER(column_name) FROM table a;

o

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

LCASE () può essere sostituito da LOWER () in entrambi gli esempi.



1

Usa semplicemente:

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

o

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

Entrambe le funzioni funzioneranno allo stesso modo.


0

È interessante notare che il nome del campo viene rinominato e se ci si fa riferimento in una funzione, non si otterrà il suo valore a meno che non gli si dia un alias (che può essere il proprio nome)

Esempio: utilizzo una funzione per ottenere dinamicamente un valore del nome di campo:

function ColBuilder ($field_name) {

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

}

la mia query è: SELECT LOWER (itemID), ... ecc ..

doveva essere modificato in: SELEZIONA INFERIORE (itemID) come itemID , ... ecc ..


Questa non suona come una risposta, o?
Dieter Meemken

completa la risposta, avvertendo che l'uso di LOWER () in situazioni specifiche potrebbe non fornire il risultato atteso senza aliasing aggiuntivo.
Festa francese HD

-3

usa la LOWERfunzione per convertire dati o stringhe in minuscolo.

select LOWER(username) from users;

o

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

6
Cosa aggiunge questo che non era nelle risposte di cinque anni ?
Andrew

-6

Credo in php che puoi usare

strtolower() 

quindi potresti creare un php per leggere tutte le voci nella tabella, quindi utilizzare quel comando per stamparle in minuscolo


L'OP ha richiesto MySQL o MySQL / PHP.
starryknight64
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.