- Published on
mysql LPAD RPAD 字符串前后补全
- Authors
- Name
- 林晓东
- @xiaodong5959
一个客户的项目中,在表中有个字段card_no
是保存的会员编号,客户采用的是四位数的方式来记录的,0001~9999这样的,字段采用的字符串的方式来保存的。
现在客户有一个这样的需求,在一个搜索应用中,中需要输入会员的后面的编号,比如0001
号的,只需要输入1
就可以直接搜索出这个会员。
当然,我们可以在采用sql搜索之前通过程序进行这个值的判断补全。
而更简单的方法就是通过mysql的LPAD函数。
LPAD(str,len,padstr)
使用这个函数的结果就是对str字符串判断len长度,如果超过就从左边开始截取指定len的长度,如果不足len长度就使用padstr在str前面进行补全。
对于客户这需求,我们就可以写出这样的sql语句了。
SELECT * FROM ecs_users WHERE card_no = LPAD(88,4,0);//88为传入的数值
同时还有一个函数RPAD,使用方法也是一样的。这个只是进行后补全的。