大数据 爬虫Python AI SqlSQL极简教程 · MySQL · MyBatis · JPA 技术笔记 教程 总结SQL server

SQL查询使用指南之截取需要的字段

2020-03-10  本文已影响0人  北极熊在冬眠

原始数据

a = {"cheng2_shi4":"上海"}

要求

获取该字段的城市名称

语句

select substr((case when a like '%cheng%shi%' then a else null end)
,instr((case when a like '%cheng%shi%' then a else null end),'":"')+length('":"')
,instr((case when a like '%cheng%shi%' then a else null end),'"}')-instr((case when a like '%cheng%shi%' then a else null end),'":"')-length('":"')) as '城市'
from a

最外层:

截取字符:substr("需要进行截取的字段","从第几个字符开始","截取几个字符")

"需要进行截取的字段":

A是一个筐,里面什么都有,需要先找到其中含有城市信息的a

case when a like '%cheng%shi%' 
 then a 
 else null 
end

"从第几个字符开始":

重点是要找到目标字符串前后独一无二的识别标志,这个情况用了A中的 ":"作为识别标志

instr(
 (case when a like '%cheng%shi%' 
   then a 
   else null 
 end),'":"')
+length('":"')

"截取几个字符":

instr((case when a like '%cheng%shi%' then a else null end),'"}')
-(instr((case when a like '%cheng%shi%' then a else null end),'":"')
  +length('":"'))
上一篇 下一篇

猜你喜欢

热点阅读