Mam bazę danych MySQL ze słowami kluczowymi, które obecnie mają różne wielkości liter. Chcę jednak przekonwertować je wszystkie na małe litery. Czy jest do tego proste polecenie, używając MySQL lub MySQL i PHP?
Mam bazę danych MySQL ze słowami kluczowymi, które obecnie mają różne wielkości liter. Chcę jednak przekonwertować je wszystkie na małe litery. Czy jest do tego proste polecenie, używając MySQL lub MySQL i PHP?
Odpowiedzi:
UPDATE table SET colname=LOWER(colname);
ascii_bin
, czy nie spowoduje to automatycznego przekonwertowania wszystkiego na małe litery, czy się mylę?
Możesz użyć funkcji LOWER () lub LCASE ().
Można ich używać zarówno w kolumnach, jak i literałach łańcuchowych. na przykład
SELECT LOWER(column_name) FROM table a;
lub
SELECT column_name FROM table a where column = LOWER('STRING')
LCASE () można zastąpić LOWER () w obu przykładach.
Czy próbowałeś to sprawdzić? Google, instrukcja ...
http://dev.mysql.com/doc/refman/5.1/en/string-functions.html#function_lower
mysql> SELECT LOWER('QUADRATICALLY');
-> 'quadratically'
Ciekawe, że nazwa pola została zmieniona i jeśli odwołasz się do niej w funkcji, nie otrzymasz jej wartości, chyba że podasz mu alias (może to być jego własna nazwa)
Przykład: używam funkcji, aby dynamicznie uzyskać wartość nazwy pola:
function ColBuilder ($field_name) {
…
While ($result = DB_fetch_array($PricesResult)) {
$result[$field_name]
}
…
}
moje zapytanie brzmi: SELECT LOWER (itemID),… itd.
trzeba było zmienić na: SELECT LOWER (itemID) as itemID ,… itd.
Wierzę w php, którego możesz użyć
strtolower()
więc możesz utworzyć php, aby odczytać wszystkie wpisy w tabeli, a następnie użyć tego polecenia, aby wydrukować je z powrotem jako małe litery