Is there a MySQL command to convert a string to lowercase?

Viewed 99962

I have a MySQL database of keywords that are presently mixed-case. However, I want to convert them all to lowercase. Is there an easy command to do this, either using MySQL or MySQL and PHP?

9 Answers
UPDATE table SET colname=LOWER(colname);

Yes, the function is LOWER() or LCASE() (they both do the same thing).

For example:

select LOWER(keyword) from my_table

SELECT LOWER(foo) AS foo FROM bar

You can use the functions LOWER() or LCASE().

These can be used both on columns or string literals. e.g.

SELECT LOWER(column_name) FROM table a;

or

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

LCASE() can be substituted for LOWER() in both examples.

Simply use:

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

or

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

Both functions will work the same.

Interesting to note that the field name is renamed and if you reference it in a function, you will not get its value unless you give him an alias (that can be its own name)

Example: I use a function to dynamically get a field name value:

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

my query being: SELECT LOWER(itemID), … etc..

needed to be changed to: SELECT LOWER(itemID) as itemID, … etc..

I believe in php you can use

strtolower() 

so you could make a php to read all the entries in the table then use that command to print them back as lower case

Related