HEBING字段为空的时候id01字段的数在前面字段里,HEBING字段是两位时,出现在前面和中间

image.png

SELECT  ID01, HEBING,  SUBSTR(HEBING,1,INSTR(HEBING,'''')-1) as 前面,   replace(SUBSTR(HEBING,INSTR(HEBING,',')+1, (INSTR(HEBING,',',1,2)-INSTR(HEBING,',')-1)),chr(39),'') as 中间 ,    replace(SUBSTR(HEBING,INSTR(HEBING,',',1,2)+1) ,chr(39),'') as 最后  from QRQC_TRACK_REPORT FOR UPDATE

用户DZNws0326467 发布于 2022-2-21 09:35
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共2回答
最佳回答
0
CD20160914Lv8专家互助
发布于2022-2-21 10:00(编辑于 2022-2-21 10:13)

SELECT  

ID01, 

HEBING, 

case when HEBING is null then id01 else  SUBSTR(HEBING,1,INSTR(HEBING,'''')-1) end as 前面,   

trim(replace(substr(replace(HEBING,',',lpad(' ',40,' ')) ,15,35),chr(39),''))  as 中间,

trim(replace(substr(replace(HEBING,',',lpad(' ',40,' ')) ,70,35),chr(39),''))  as 最后

 from QRQC_TRACK_REPORT FOR UPDATE

image.png

  • 用户DZNws0326467 用户DZNws0326467(提问者) 您好,,这个少了一个 如果HEBING字段是空的时候,取ID01的字段,让它在前面那个字段显示
    2022-02-21 10:03 
  • CD20160914 CD20160914 回复 用户DZNws0326467(提问者) 你的意思是说如果HEBING只有两组数据,那么就把id01的字段放在最前面去?
    2022-02-21 10:04 
  • 用户DZNws0326467 用户DZNws0326467(提问者) 回复 CD20160914 麻烦看一下我发的图片上的第二个框内 那种的 6是id01的数据,,HEBING是空的 这种时候,6需要在 前面 这个字段里显示
    2022-02-21 10:06 
  • CD20160914 CD20160914 回复 用户DZNws0326467(提问者) 上面的语句改了。。做一下判断就行了。。
    2022-02-21 10:10 
最佳回答
0
Z4u3z1Lv6专家互助
发布于2022-2-21 09:39(编辑于 2022-2-21 09:39)

(case when HEBING like '%,%' then SUBSTR(HEBING,1,INSTR(HEBING,'''')-1)  else HEBING end ) as 前面

  • 2关注人数
  • 305浏览人数
  • 最后回答于:2022-2-21 10:13
    请选择关闭问题的原因
    确定 取消
    返回顶部