I need to fetch all the rows where the 'zip' field is less than 5 characters. How can I achieve this using only SQL? I google'd first, but only found info on CHAR_LENGTH().
ie, psudeo code: SELECT * FROM users WHERE STRLEN(zip_code) < 5
Thanks!
I need to fetch all the rows where the 'zip' field is less than 5 characters. How can I achieve this using only SQL? I google'd first, but only found info on CHAR_LENGTH().
ie, psudeo code: SELECT * FROM users WHERE STRLEN(zip_code) < 5
Thanks!
For MySQL you would use the LENGTH() function ie.
select * from users where length(zip_code) < 5
Refer to the docs at http://dev.mysql.com/doc/refman/5.1/en/string-functions.html#function_length for more information.
If you are searching for bad zip codes then char_length(zip_code) < 5 is a start, but it will still pass invalid ZIP codes.
use SELECT * from users where char_length(zip_code) < 5 OR zip_code NOT REGEXP '^([0-9]{5})$'
The regexp part basically searches for zip_codes where the first 5 characters are not numbers between 0-9
Have Fun