首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

请高人指教怎么用sql语句拆分列

2013-01-06 
请高人指教如何用sql语句拆分列数据库版本:Sybase Adaptive Server Anywhere Database Engine Version 8.0

请高人指教如何用sql语句拆分列
数据库版本:Sybase Adaptive Server Anywhere Database Engine Version 8.0.2.4122

数据表名称:A
数据表内容:
codedfyzje
——————————————
1002352012025.0000
10023620120215.0000
100237201202100.0000
1002382012024009.0000
10023920120210002.0000

本人菜鸟,我想用sql语句select 某条记录时将‘zje’列拆成多列(zje的字符长度不定,小数点前最多5位。以上需要用sql语句实现,不在程序中实现。),比如查找code=100235,那么想得到的结果是100235,201202,5,.,0,0,0,0
比如查找code=100239,那么想得到的结果是100239,201202,1, 0,0,0,2,.,0,0,0,0

求解。。。。
[解决办法]
貌似只能写存储过程来实现。
[解决办法]
生成辅助表,字段ID,内容1-100000,与工作表连接 ,拆分字符串后,再用变量累加的方法
得到结果
[解决办法]
//若小数点后都是四位
SELECT code+','+
       dfy+','+
       substring(zje,1,1)+','+
      substring(zje,2,1)+','+
      substring(zje,3,1)+','+
      substring(zje,4,1)+','+
      substring(zje,5,1)+','+
      substring(zje,6,1)+','
FROM A
WHERE LENGTH(CONVERT(VARCHAR(10),zje))=6
union
SELECT code+','+
       dfy+','+
       substring(zje,1,1)+','+
      substring(zje,2,1)+','+
      substring(zje,3,1)+','+
      substring(zje,4,1)+','+
      substring(zje,5,1)+','+
      substring(zje,6,1)+','+
      substring(zje,7,1)
FROM DBA.hr_leave_record
WHERE LENGTH(CONVERT(VARCHAR(10),zje))=7
union
......
根据需要写成,就这个思路

热点排行
Bad Request.