互联网服务数据库字段

在DB2里如何进行字段的分割?

帮朋友问一个问题:

aa字段存取的内容为:AA●BB●CC●DD  
bb字段存取的内容为:Hello  
cc字段存取的内容为:world  
查询出的结果是  
       aa      bb    cc  
AA●BB●CC●DD Hello World  
   
我想把aa字段的内容从●里分割出来,变成这样的结果  
AA BB CC DD Hello World  
   
aa字段的内容是不固定的  
就是把AA●BB●CC●DD,从一列变成四列  
  
数据库用的是DB2,不能存储过程。麻烦大家了
参与9

9同行回答

javaee_kekaijavaee_kekai软件开发工程师科技公司
如果要 在字段aa 下取出所有的  AA   该怎么做????显示全部
如果要 在字段aa 下取出所有的  AA   该怎么做????收起
互联网服务 · 2012-02-10
浏览566
select substr(aa,1,2)||substr(aa,4,2)||substr(aa,7,2)||bb||cc from table_name显示全部
select substr(aa,1,2)||substr(aa,4,2)||substr(aa,7,2)||bb||cc from table_name收起
2009-07-23
浏览585
hchaohchao网站运营经理TWT
晚上我让这个朋友来看看,谢谢大家!显示全部
晚上我让这个朋友来看看,谢谢大家!收起
互联网服务 · 2009-07-16
浏览583
leo_wynleo_wyn商业智能工程师Security
其实最好写个udf, 使用一条sql解决不是最好的方法, 且性能和扩展性也不强!这里只是给大家提供递归的例子学习:lol显示全部
其实最好写个udf, 使用一条sql解决不是最好的方法, 且性能和扩展性也不强!

这里只是给大家提供递归的例子学习:lol收起
系统集成 · 2009-07-16
浏览562
leo_wynleo_wyn商业智能工程师Security
please reference:with n(str, ori, pos) as (values ('AA●BB●CC●DD●', 1, posstr('AA●BB●CC●DD●', '●'))union all select str, pos+2, locate('●', str, pos+2)from n where locate('●', str, pos+2)>0)select str, ori, pos, substr(str, ori, pos-ori) as...显示全部
please reference:

with n(str, ori, pos) as (
values ('AA●BB●CC●DD●', 1, posstr('AA●BB●CC●DD●', '●'))

union all

select str, pos+2, locate('●', str, pos+2)
from n
where locate('●', str, pos+2)>0)

select str, ori, pos, substr(str, ori, pos-ori) as result from n

result :

AA●BB●CC●DD●
1
3
  AA
AA●BB●CC●DD●
5
7
  BB
AA●BB●CC●DD●
9
11
  CC
AA●BB●CC●DD●
13
15
  DD


note: AA●BB●CC●DD●需要增加一个●结束符 db2v9 测试通过 [ 本帖最后由 leo 于 2009-7-16 16:03 编辑 ]收起
系统集成 · 2009-07-16
浏览610
pinkcompinkcom软件开发工程师IBM CSDL LBS
aa字段存取的内容为:AA●BB●CC●DD  bb字段存取的内容为:Hello  cc字段存取的内容为:world  把aa字段的内容从●里分割出来,变成这样的结果  AA BB CC DD Hello World  可用:replace(aa,'●','')||bb||cc...显示全部
aa字段存取的内容为:AA●BB●CC●DD  
bb字段存取的内容为:Hello  
cc字段存取的内容为:world  
把aa字段的内容从●里分割出来,变成这样的结果  
AA BB CC DD Hello World  
可用:replace(aa,'●','')||bb||cc收起
互联网服务 · 2009-07-16
浏览636
REPLACE(aa, '●', ' ');这样怎么样显示全部
REPLACE(aa, '●', ' ');这样怎么样收起
2009-07-16
浏览581
hchaohchao网站运营经理TWT
一个朋友不方便上网,所以让我贴上来!我哪有问题啊显示全部
一个朋友不方便上网,所以让我贴上来!我哪有问题啊收起
互联网服务 · 2009-07-16
浏览542
leo_wynleo_wyn商业智能工程师Security
超哥也来问问题?:lol显示全部
超哥也来问问题?:lol收起
系统集成 · 2009-07-16
浏览576

提问者

hchao
网站运营经理TWT
擅长领域: 数据库服务器前置系统

相关问题

相关资料

相关文章

问题状态

  • 发布时间:2009-07-16
  • 关注会员:0 人
  • 问题浏览:5095
  • 最近回答:2012-02-10
  • X社区推广