ITPub博客

首页 > Linux操作系统 > Linux操作系统 > db2 字符串问题

db2 字符串问题

原创 Linux操作系统 作者:fengjin821 时间:2009-09-30 13:40:15 0 删除 编辑

数据库里有字段的值是:
'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/,如需转载,请注明出处,否则将追究法律责任。

下一篇: 工作第一帖
请登录后发表评论 登录
全部评论

注册时间:2009-04-29

  • 博文量
    191
  • 访问量
    511642