字段是text类型,怎样获取其中的指定字符

表中的字段是text 类型,eg:  {"id":1,"age":"12","name":"张三"}  ,怎样获取其中name对应的值显示在单元格中?

FineReport 245337 发布于 4 天前 (编辑于 4 天前
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共2回答
最佳回答
0
ScyalcireLv7高级互助
发布于4 天前(编辑于 4 天前

MID(A1, FIND("\"name\":\"", A1)+8, FIND("\"", A1, FIND("\"name\":\"", A1)+8)-(FIND("\"name\":\"", A1)+8))

---------

假设text在A1单元格

image.png

image.png

  • 245337 245337(提问者) +8 是什么意思,为什么要*8?
    2025-10-30 11:38 
  • Scyalcire Scyalcire 回复 245337(提问者) FIND("\"name\":\"", 文本单元格) 会返回"name":"在字符串中的起始位置(例如位置10),然后+8表示跳过"name":"这8个字符(包括引号和冒号),直接定位到值内容的第一个字符;;;;;"(第1个字符)
    n(第2个字符)
    a(第3个字符)
    m(第4个字符)
    e(第5个字符)
    :(第6个字符)
    "(第7个字符)
    张(第8个字符,实际值开始位置)
    2025-10-30 11:40 
  • 245337 245337(提问者) 回复 Scyalcire 高手呀!!!
    2025-10-30 14:07 
最佳回答
0
期待遇见youLv4初级互助
发布于4 天前

mysql ,其他库也有类似方法,百度

根据符号拆分列

SELECT

SUBSTRING_INDEX(SUBSTRING_INDEX('a-b-c', '-', 1), '-', -1) AS col1

 SUBSTRING_INDEX(SUBSTRING_INDEX(column_name, ',', 1), ',', -1) AS col1,  SUBSTRING_INDEX(SUBSTRING_INDEX(column_name, ',', 2), ',', -1) AS col2,  SUBSTRING_INDEX(SUBSTRING_INDEX(column_name, ',', 3), ',', -1) AS col3

  • 3关注人数
  • 29浏览人数
  • 最后回答于:4 天前
    请选择关闭问题的原因
    确定 取消
    返回顶部