У меня есть база данных MySQL ключевых слов, которые в настоящее время имеют смешанный регистр. Однако я хочу преобразовать их все в нижний регистр. Есть ли простая команда для этого с использованием MySQL или MySQL и PHP?
У меня есть база данных MySQL ключевых слов, которые в настоящее время имеют смешанный регистр. Однако я хочу преобразовать их все в нижний регистр. Есть ли простая команда для этого с использованием MySQL или MySQL и PHP?
Ответы:
UPDATE table SET colname=LOWER(colname);
ascii_bin
, не будет ли это автоматически преобразовывать все в нижний регистр, или я ошибаюсь?
Да, это функция LOWER () или LCASE () (они обе делают одно и то же).
Например:
select LOWER(keyword) from my_table
Вы можете использовать функции LOWER () или LCASE ().
Их можно использовать как для столбцов, так и для строковых литералов. например
SELECT LOWER(column_name) FROM table a;
или
SELECT column_name FROM table a where column = LOWER('STRING')
LCASE () можно заменить на LOWER () в обоих примерах.
Вы пытались его найти? Гугл, инструкция ...
http://dev.mysql.com/doc/refman/5.1/en/string-functions.html#function_lower
mysql> SELECT LOWER('QUADRATICALLY');
-> 'quadratically'
Интересно отметить, что имя поля переименовано, и если вы ссылаетесь на него в функции, вы не получите его значение, если не дадите ему псевдоним (это может быть его собственное имя)
Пример: я использую функцию для динамического получения значения имени поля:
function ColBuilder ($field_name) {
…
While ($result = DB_fetch_array($PricesResult)) {
$result[$field_name]
}
…
}
мой запрос: SELECT LOWER (itemID),… и т. д.
необходимо изменить на: SELECT LOWER (itemID) as itemID ,… и т. д.
Я верю в php, который можно использовать
strtolower()
чтобы вы могли заставить php читать все записи в таблице, а затем использовать эту команду, чтобы распечатать их в нижнем регистре