【解决问题】mysql 数据库字符串分割之后多行输出方法

2023-10-27

背景:

项目需要从一张表查询出来数据插入到另一张表,其中有一个字段是用逗号分隔的字符串,需要多行输入到另一张表,那么这个如何实现呢

方案:

下面先粘贴下sql语句:

select SUBSTRING_INDEX(SUBSTRING_INDEX(v1.name, ',', b.help_topic_id + 1), ',', - 1) AS exhibit,SUBSTRING_INDEX(SUBSTRING_INDEX(v1.sku, ',', b.help_topic_id + 1), ',', - 1) AS skut
from test v1 JOIN mysql.help_topic AS b ON b.help_topic_id < (length(v1.name) - length(REPLACE(v1.name, ',', '')) + 1);

参数解释

1.SUBSTRING_INDEX(str, delimiter, count)

    参数解释

    str:必填。STRING类型。待截取的字符串

    separator:必填。STRING类型的分隔符

    count:必填。INT类型。指定分隔符位置

2.mysql.help_topic本身是mysql的一张信息表,用来存储各种注释等帮助信息

同时它有一个特点,拥有一个自增为1的id属性--help_topic_id 并且 拥有固定数量的数据

语句解释:

1.查询v1表的sku字段,按照逗号从左开始取b.help_topic_id + 1的值

SUBSTRING_INDEX(v1.sku, ',', b.help_topic_id + 1)

2.先从左开始截取对应的值,在此基础上从右往左在截取一位

SUBSTRING_INDEX(SUBSTRING_INDEX(v1.sku, ',', b.help_topic_id + 1), ',', - 1) AS skut

3.这个意思是关联表help_topic,help_topic_id长度取到v1.name字段用逗号分隔的数量的最大值

mysql.help_topic AS b ON b.help_topic_id < (length(v1.name) - length(REPLACE(v1.name, ',', '')) + 1)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【解决问题】mysql 数据库字符串分割之后多行输出方法 的相关文章

随机推荐

  • C语言学习记录——项目1 交换机后台管理之登录菜单(1)

    C语言学习记录 项目1 交换机后台管理之登录菜单 1 交换机 交换机 Switch 是一种用于电 光 信号转发的网络设备 它可以为接入交换机的任意两个网络节点提供独享的电信号通路 最常见的交换机是以太网交换机 其他常见的还有电话语音交换机
  • mysql 查询出表字段的属性

    SELECT column name 字段名 column comment 字段说明 column type 字段类型 column key 约束 FROM information schema COLUMNS WHERE table na
  • Node.js 基础篇(九):fs.watchFile

    目录 fs watch 监视 filename 的变化 fs watchFile 监视 filename 的变化 fs watch 监视 filename 的变化 fs watch filename options listener fil
  • 机器学习:matlab和python实现SVD(奇异值分解)算法

    1 SVD SVD Singular Value Decomposition 奇异值分解 SVD算法不光可以用于降维算法中的特征分解 还可以用于推荐系统 以及自然语言处理等领域 是很多机器学习算法的基石 假设我们现在有一个矩阵M m n 如
  • 服务器上R调用png显示x11报错怎么办?

    太长不读版 治本的方法 服务器安装pango 之后重新编译R语言 治标的方法 在R的配置文件中增加options bitmapType cairo 服务器上装完R语言之后 发现自己的PNG函数无法正常调用 始终会出现一个X11连接失败的错误
  • 进行模拟点击的时候,利用python完成黑名单和白名单(判断字符串是否包含)

    在做项目的时候 遇到一个需求 就是在进行模拟点击的时候 要求加上一个黑名单和白名单 意思就是 白名单 模拟点击的时候 不能点击白名单里面有的元素 例如 包含什么地址 或者什么数字和特殊的字符串的时候 黑名单 就是不在黑名单里的元素 就不能进
  • 中台到底在共享什么

    一 中台的诞生 中台战略是企业数字化转型过程中的一个热门话题 说到中台转型 企业大多对标阿里巴巴 2015年阿里巴巴提出了 大中台 小前台 的中台战略 提出之初阿里有近 4 亿用户 为超过 1000万各类企业提供服务 业务种类繁多 业务之间
  • @DynamicUpdate 注解 动态更新 和 lombok 插件 @Data 注解使用 ; @Transient 与Dto引入

    比如在实体类中 private Date updateTime 这个属性 在数据库中 我们创建update Time的时候我们 update Time timestamp not null default current timestamp
  • [C++]何为溢出?如何避免?

    总时忘记 以Leetcode69为例 来记录一下吧 给你一个非负整数 x 计算并返回 x 的 算术平方根 由于返回类型是整数 结果只保留 整数部分 小数部分将被 舍去 注意 不允许使用任何内置指数函数和算符 例如 pow x 0 5 或者
  • 惊!一百多万人下载这些vscode摸鱼插件

    分享资料 一起学习 我是小白 微信 tlxx233 备注 888建了个微信程序员学习群 互相解答问题 有需要的同学可以加我微信进群 作为一个程序员 我们的日常工作离不开代码编辑器 有时候编写代码会让人感到无聊和单调 但是好的插件可以让编码变
  • 这个牛逼的Python模块,能让你轻松模拟并记录键盘操作(附零基础学习资料)

    前言 模拟键盘操作执行自动化任务 我们常用的有 pyautowin 等自动化操作模块 但是这些模块有一个很大的缺点 编译的时候非常依赖 windows 的C语言底层模块 文末送福利 今天介绍的这个模块叫做 keyboard 它有一个最大的优
  • SaltStack部署

    目录 一 SaltStack简介 1 基本简介 2 通信方式 3 功能简介 二 资源获取 1 官网地址 2 阿里云地址 三 部署 1 配置环境说明 2 资源配置 一 SaltStack简介 1 基本简介 SaltStack是一种新型的基础设
  • IDEA 如何根据代码自动生成类图

    文件夹右键 gt Diagrams gt show Diagram gt Java classes diagram 选择类图的成员 成员变量 构造器 方法 配置文件 内部类 生成的类图
  • 读书感悟之,从术到道

    最近在看了一些书 因为书的内容和方向有着比较大的出入 自然就有了一些不同层面的感悟 在笔者看来 书籍大抵成三类 层面 1 术的层面 1 科普和不系统的知识类 如 电气知识1000问 各种论坛 帖子 公众号的非连载的知识类 人文社科的更多 这
  • visio绘制自制图案并填充

    1 首先打开 文件 gt gt 选项 gt gt 高级 勾选以开发人员模式运行 2 选择开发工具 选择线条 3 绘画出椭圆与线条 4 选择操作 使用修剪功能或得相交得两个部分 5 按照上述步骤绘制出想要得图案 全选后选择操作中的连接 6 对
  • 尝试在条件“($(MsBuildMajorVersion) < 16)”中对计算结果为“”而不是数字的“$(MsBuildMajorVersion)”进行数值比较

    https learn microsoft com en us nuget consume packages migrate packages config to package reference 我的处理方法简单粗爆 直接将packag
  • mysql映射表的作用_php – MySQL:了解映射表

    当使用多对多关系时 处理此事的唯一现实的方法是使用映射表 说我们有一所有老师和学生的学校 一个学生可以有多个教师 反之亦然 所以我们做3个表 student id unsigned integer auto increment primar
  • 【RabbitMq】05 RabbitMq 消息确认机制-可靠抵达

    一 保证消息不丢失 1 使用事务消息 性能下降250倍 2 消息确认机制 1 publisher confirmCallback 确认模式 2 publisher returnCallback 未投递到queue退回模式 3 consume
  • BLE连接建立过程详解

    同一款手机 为什么跟某些设备可以连接成功 而跟另外一些设备又连接不成功 同一个设备 为什么跟某些手机可以建立连接 而跟另外一些手机又无法建立连接 同一个手机 同一个设备 为什么他们两者有时候连起来很快 有时候连起来又很慢 Master是什么
  • 【解决问题】mysql 数据库字符串分割之后多行输出方法

    背景 项目需要从一张表查询出来数据插入到另一张表 其中有一个字段是用逗号分隔的字符串 需要多行输入到另一张表 那么这个如何实现呢 方案 下面先粘贴下sql语句 select SUBSTRING INDEX SUBSTRING INDEX v