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
你可以做
SELECT * FROM table WHERE LENGTH(zip) <= 5;
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.