广告
返回顶部
首页 > 资讯 > 数据库 >Mysql如何将字符串按照指定字符分割
  • 354
分享到

Mysql如何将字符串按照指定字符分割

2023-06-30 17:06:06 354人浏览 薄情痞子
摘要

这篇文章主要介绍“Mysql如何将字符串按照指定字符分割”,在日常操作中,相信很多人在Mysql如何将字符串按照指定字符分割问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”mysql如何将字符串按照指定字符分割

这篇文章主要介绍“Mysql如何将字符串按照指定字符分割”,在日常操作中,相信很多人在Mysql如何将字符串按照指定字符分割问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”mysql如何将字符串按照指定字符分割”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

前言

在某些场景下(比如:用户上传文件或者图片等),一般的做法是将文件信息(文件名,文件路径,文件大小等)保存到文件表(user_file)中,然后再将用户所有上传的文件的id用一个指定字符拼接然后存在表(user)中某个字段里(假设是:file_ids)。
在展示用户上传的文件时就直接查询文件表中就好了:

-- 一般的语句是这样的,假设用户唯一键是idselect * from file where id in(select file_ids from user where id = 1);

sql语句没有问题,文件也能查询出来,但是,上传的文件大于1个后,再用这个sql语句查询就只返回1条记录了,可能就会疑惑了,为什么只返回一条记录???;

肯定有人做过这样的验证

-- 先运行下面这个sql,正确返回1,2,3 假设上传的文件id是1,2,3;select file_ids from user where id = 1-- 然后返回的文件id写死在sql语句中,运行成功返回3条记录select file_ids from user where id in ('1' , '2' , '3');-- 最后再整体试了下,结果返回一条......select * from file where id in(select file_ids from user where id = 1)-- 然后可能会想到:我把in里面的拼接成'1','2','3',这样总可以了吧?select * from file where id in (select concat('\'', replace(file_ids,',','\',\'') ,'\'') from user where id = 1);-- concat('\'', replace(file_ids,',','\',\'') ,'\'') 确实能拼接成上面说的形式,但是结果还是只有一条

是因为这个查询只返回一个字段,所以只会返回一条记录(即使有多个逗号拼接,或者是手动拼接的,Mysql只认为是一个值,具体底层不清楚…),正确做法如下:

一:分两次查询(不是本文重点,但可以实现)

select file_ids from user where id = 1select file_ids from user where id in ('1' , '2' , '3');或者select file_ids from user where find_in_set(id , '1,2,3');

二:将file_ids字段分割成多列,类似Mysql的行转列

与Mysql行转列区别:行转列要知道列的内容,而这个不用,只需知道拼接的字符就行了

-- 下面语句将会把1,2,3,4一个字段转换成四行,依次是1,2,3,4SELECTa.id,a.file_ids,substring_index(substring_index(a.file_ids,',',b.help_topic_id + 1),',' ,- 1) file_idFROMuser aJOIN mysql.help_topic b ON b.help_topic_id < (length(a.file_ids) - length(REPLACE(a.file_ids, ',', '')) + 1)where id = 1;-- 然后将上面语句写在in()里面就行了,写在in()里面的话记住只能查询一个字段哦!

上面语句可以直接复制过去,只需将a表及a表字段换成自己的表明及字段就行了,至于mysql.help_topic,是Mysql自带的,不用管的。

附:mysql如何将字符串按分隔符拆分

字符串拆分: SUBSTRING_INDEX(pressure 136/70 血压),例如:

SUBSTRING_INDEX(pressure ,',',1)     #截取第一个逗号(,)号以前的字符串SUBSTRING_INDEX(pressure ,',',-1)    #截取倒数第一个逗号(,)号以后的字符串

替换函数:replace( str, from_str, to_str)。例如:

UPDATE bgs_building_copy1 SET `name`=replace(`name`,'=',"");    #替换等号为空字符串

到此,关于“Mysql如何将字符串按照指定字符分割”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注编程网网站,小编会继续努力为大家带来更多实用的文章!

您可能感兴趣的文档:

--结束END--

本文标题: Mysql如何将字符串按照指定字符分割

本文链接: https://www.lsjlt.com/news/330468.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Mysql如何将字符串按照指定字符分割
    这篇文章主要介绍“Mysql如何将字符串按照指定字符分割”,在日常操作中,相信很多人在Mysql如何将字符串按照指定字符分割问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Mysql如何将字符串按照指定字符分割...
    99+
    2023-06-30
  • Mysql将字符串按照指定字符分割的正确方法
    目录前言一:分两次查询(不是本文重点,但可以实现)二:将file_ids字段分割成多列,类似Mysql的行转列附:mysql如何将字符串按分隔符拆分总结前言 在某些场景下(比如:用户...
    99+
    2022-11-13
  • 字符串分割(split),将字符串按照指定字符进行分割。split(String regex)和split(String regex, int limit)
    一、split(String regex)字符串分割,将字符串按照指定字符进行分割,返回的是一个字符串数组。 public String[] split(String regex) { ...
    99+
    2023-09-27
    java c++ 算法
  • Mysql 按照指定字符串顺序排序
    问题 : 排序中。 假如每一条记录都有一个字段。“交通工具” 。 假如我现在想要查询结果按照我指定的字符串来排序(不是字符顺序排序), 例如,按照 飞机-轮船-汽车 的顺序进行排序。 在不用分组的情况下。 有没有类似这样的写法?...
    99+
    2021-05-28
    Mysql 按照指定字符串顺序排序 数据库入门 数据库基础教程 数据库 mysql
  • mysql如何将字符串按分隔符拆分
    mysql将字符串按分隔符拆分的示例:字符串拆分: SUBSTRING_INDEX(str, delim, count),例如:SUBSTRING_INDEX('a,b,c',',',1) &nbs...
    99+
    2022-10-13
  • 按分隔符分割字符串(DB2/mysql/hive/Oracle)
    1、DB2 --substr+locate/instr DB2没有自己按分隔符分割字符串的函数,只能结合使用 或者在DB2里还可以自己写一个split分割字符串的函数 附:instr函数用法--用来查找指定字符在字符串中出现的位...
    99+
    2023-10-04
    hive mysql oracle
  • jquery如何将分割字符串
    jQuery作为JavaScript的库,提供了许多方便的方法来处理操作DOM、执行AJAX等常见的前端交互。而对于字符串的处理,jQuery同样也提供了很多有用的方法。其中,将字符串分割成数组是一个常见的需求。本文将介绍jQuery如何实...
    99+
    2023-05-23
  • shell 使用指定的分割符来分割字符串的方法
    shell 如何用指定的分隔符来分割字符串让结果为一个字符串数组,类似 java 中的 split, 而 split 关键字已经留给文件分割了,故字符串就分割处理就不能在使用了,那如何来处理字符串串分割呢?方法有两种 ...
    99+
    2022-06-04
    shell 分割字符串 shell 字符串分割
  • php如何使用指定符号分割字符串转数组
    这篇文章主要介绍“php如何使用指定符号分割字符串转数组”,在日常操作中,相信很多人在php如何使用指定符号分割字符串转数组问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”php如何使用指定符号分割字符串转数组...
    99+
    2023-07-04
  • php如何分割字符串
    在php中使用explode()函数分割字符串,具体方法如下:explode()函数作用:php中explode()函数的作用是将一个字符串分割为另一个字符串,并返回由字符串组成的数组。explode()函数语法:explode(separ...
    99+
    2022-10-11
  • python如何分割字符串
    小编给大家分享一下python如何分割字符串,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!分割字符串在处理字符串时,通常要将字符串分隔成单词列表。这种情况下,可以...
    99+
    2023-06-27
  • MySQL按指定字符合并及拆分
    按照指定字符进行合并或拆分是经常碰到的场景,MySQL在合并的写法上比较简单,但是按指定字符拆分相对比较麻烦一点(也就是要多写一些字符)。本文将举例演示如何进行按照指定字符合并及拆分。 1、 合并 MySQL数据库中按照指定字符合...
    99+
    2020-01-07
    MySQL按指定字符合并及拆分
  • php如何将字符串分割转为数组
    本篇内容介绍了“php如何将字符串分割转为数组”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!在php中,可以使用str_split()函数来...
    99+
    2023-06-21
  • php怎么使用指定符号分割字符串转数组
    两种实现方法:1、使用explode()函数以指定符号为分割符来拆分字符串并转为数组,语法“explode("指定符号",$str)”;2、使用preg_split()函数通过一个正则表达式匹配指定字符来分割字符串并转为...
    99+
    2023-05-14
    php php数组
  • 如何在shell 中使用分割符来分割字符串
    这期内容当中小编将会给大家带来有关如何在shell 中使用分割符来分割字符串,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。一、对于不包含空格的字符串,使用下面方法方法一#!/bin/bashstring=...
    99+
    2023-06-09
  • php分割字符串如何除去第一个字符
    这篇文章主要介绍“php分割字符串如何除去第一个字符”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“php分割字符串如何除去第一个字符”文章能帮助大家解决问题。在PHP中,可以利用substr...
    99+
    2023-06-29
  • python如何去除字符串中指定字符
    目录python中的strip()可以去除头尾指定字符 ss = '我的电话是18827038***,也是微信号,\n 请加入,谢谢\n\n\n' print(ss.strip('\...
    99+
    2022-12-08
    python 去除字符串中指定字符 python 字符串处理
  • c#如何去掉字符串的指定字符
    在C#中,可以使用`string.Replace`方法来去掉字符串中的指定字符。`Replace`方法接受两个参数,第一个参数是要替...
    99+
    2023-10-28
    c#
  • thinkphp如何去掉字符串中指定字符
    这篇文章主要介绍“thinkphp如何去掉字符串中指定字符”,在日常操作中,相信很多人在thinkphp如何去掉字符串中指定字符问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”thinkphp如何去掉字符串中指...
    99+
    2023-07-05
  • 如何在Shell中分割字符串
    这篇文章主要介绍“如何在Shell中分割字符串”,在日常操作中,相信很多人在如何在Shell中分割字符串问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”如何在Shell中分割字符串”的疑惑有所帮助!接下来,请跟...
    99+
    2023-06-09
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作