MySQL: Filtering with Regular Expressions
Today I wanted to list all all users in a database who had been too lazy to uppercase the first letter in their name. But how can you do that in MySQL? With regular expressions such a check would be easy to write, but this was in MySQL, not in for example PHP... but wait a minute... MySQL actually supports Regular Expressions? Yes, it does! I honestly had no clue.
With my newfound knowledge about the
REGEXP keyword I could write my query as simple as anything:
SELECT user_id, first_name, last_name FROM user_details WHERE first_name REGEXP BINARY "^[[:lower:]]" OR last_name REGEXP BINARY "^[[:lower:]]" ORDER BY user_id
And presto! Found them all. Always nice when you find a new handy tool to put in your belt. 👍