我需要获取'zip'字段少于5个字符的所有行。如何仅使用SQL实现此目的?我先google了,但只找到了CHAR_LENGTH()的信息。
即,psudeo代码:SELECT * FROM users WHERE STRLEN(zip_code)< 5
谢谢!
答案 0 :(得分:25)
对于MySQL,您将使用LENGTH()函数,即。
select * from users where length(zip_code) < 5
有关详细信息,请参阅http://dev.mysql.com/doc/refman/5.1/en/string-functions.html#function_length处的文档。
答案 1 :(得分:9)
答案 2 :(得分:2)
答案 3 :(得分:2)
如果您要搜索错误的邮政编码,则char_length(zip_code)&lt; 5是一个开始,但是 它仍会传递无效的邮政编码。
使用来自char_length(zip_code)&lt;的用户的SELECT * 5 OR zip_code NOT REGEXP'^([0-9] {5})$'
regexp部分基本上搜索zip_codes,其中前5个字符不是0-9之间的数字
玩得开心
答案 4 :(得分:-1)
你可以做到
{{1}}