数据库里有字段的值是:
'10,512'
'10,12'
'10,931'
'10,592,592014'
如何用sql语句取得
0512
0012
0931
0592
即第一个逗号后的数字,如果不足4位前面补零
select lpad(substr(a,x+1,y-x),4,'0') from
(
select locate(',', a) x,
case locate(',', a,locate(',', a)+1)
when 0 then length(a)
else locate(',', a,locate(',', a)+1)-1
end y, a
from t
)tmp;
db2 =>
db2 => select lpad(substr(a,x+1,y-x),4,'0') from
db2 (cont.) => (
db2 (cont.) => select locate(',', a) x,
db2 (cont.) =>
db2 (cont.) => case locate(',', a,locate(',', a)+1)
db2 (cont.) => when 0 then length(a)
db2 (cont.) => else locate(',', a,locate(',', a)+1)-1
db2 (cont.) => end y, a
db2 (cont.) =>
db2 (cont.) => from t
db2 (cont.) => )tmp;
1
----
0512
0012
0931
0592
V97下通过
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/13165828/viewspace-615902/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/13165828/viewspace-615902/