| 
 | 
 
数据如下: 
 
- select uid,username,password from cdb_members where username like 'GTO%';
 
  
- uid username password
 
 - 2 GTO0000000 e10adc3949ba59abbe56e057f20f883e
 
 - 3 GTO0000001 e10adc3949ba59abbe56e057f20f883e
 
 - 4 GTO0000002 e10adc3949ba59abbe56e057f20f883e
 
 - 5 GTO0000003 e10adc3949ba59abbe56e057f20f883e
 
 - 6 GTO0000004 e10adc3949ba59abbe56e057f20f883e
 
 - 7 GTO0000005 e10adc3949ba59abbe56e057f20f883e
 
 - 8 GTO0000006 e10adc3949ba59abbe56e057f20f883e
 
 - ......
 
 - 111 GTO0000109 e10adc3949ba59abbe56e057f20f883e
 
 - 112 GTO0000110 e10adc3949ba59abbe56e057f20f883e
 
  复制代码 目的:缩短username列的一个数据长度,即去掉GTO0000001中间的一个‘0’, 成 GTO000001 。 
 
方法/脚本: 
select CONCAT(left(username,5),LPad(right(username,3),3,'0')) from cdb_members where username like 'GTO%'; 
 
说明:- CONCAT(str1,str2,...)
  返回结果为连接参数产生的字符串。如有任何一个参数为NULL ,则返回值为 NULL。或许有一个或多个参数。 如果所有参数均为非二进制字符串,则结果为非二进制字符串。 如果自变量中含有任一二进制字符串,则结果为一个二进制字符串。一个数字参数被转化为与之相等的二进制字符串格式;若要避免这种情况,可使用显式类型 cast, 例如: SELECT CONCAT(CAST(int_col AS CHAR), char_col)  
mysql> SELECT CONCAT('My', 'S', 'QL'); 
        -> 'MySQL' 
 
返回字符串 str, 其左边由字符串padstr 
填补到len 
字符长度。假如str 
的长度大于len, 则返回值被缩短至 len 
字符。 
mysql> SELECT LPAD('hi',4,'??'); 
 
返回从字符串str 
开始的len 
最左字符。  
mysql> SELECT LEFT('foobarbar', 5); 
        -> 'fooba' 
        -> '??hi' 
 
 
时间仓促,随手写的,供参考。 |   
 
 
 
 |