MySQL如何用分隔符分隔字符串

目录
  • MySQL用分隔符分隔字符串
    • 使用
    • 效果
  • MySQL存储过程 根据分隔符拆分字符串

MySQL用分隔符分隔字符串

使用

可以使用如下函数

SUBSTRING_INDEX( i.final_car_type, ' ', 1 )
  • i.final_car_type 即 需要分隔的字符串
  • ’ ’ 即 用空格分隔该字符串
  • 1 即:取出该空格之前的所有字符

也就是说,如果count是正数,那么就是从左往右数,第N个分隔符的左边的全部内容。相反,如果是负数,那么就是从右边开始数,第N个分隔符右边的所有内容

效果

如果count 是1

  • 表里数据:东风风神全新AX7马赫版 DF 21(天窗版)
  • 拆分后:东风风神全新AX7马赫版

如果count 是-1

  • 表里数据:东风风神全新AX7马赫版 DF 21(天窗版)
  • 拆分后:21(天窗版)

MySQL存储过程 根据分隔符拆分字符串

DELIMITER $$

CREATE DEFINER=`root`@`%` PROCEDURE `proc_split_Id`(in selectIds blob(65535),
in splitChar varchar(2))
BEGIN
set @i=0;
CREATE TEMPORARY TABLE if not exists Id_Result_s(Id long NOT NULL);
truncate table Id_Result_s;
SET @cnt = 1+(LENGTH(selectIds) - LENGTH(REPLACE(selectIds,splitChar,'')));
set @i=1;
	start transaction;
    WHILE @i <=@cnt DO
        SET @result = REPLACE(SUBSTRING(SUBSTRING_INDEX(selectIds, splitChar, @i),
       LENGTH(SUBSTRING_INDEX(selectIds, splitChar, @i -1)) + 1),
       splitChar, '');
       INSERT INTO Id_Result_s(Id) VALUES (@result );
		SET @i = @i + 1;
    END WHILE;
	commit;
END

selectIds为需要拆分的字符串,splitChar为分隔符. 拆分的结果保存在临时表Id_Result_s中.

while中有insert语句,循环插入.在while前后加上start transaction和commit可以提高效率.

以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • Mysql将字符串按照指定字符分割的正确方法

    目录 前言 一:分两次查询(不是本文重点,但可以实现) 二:将file_ids字段分割成多列,类似Mysql的行转列 附:mysql如何将字符串按分隔符拆分 总结 前言 在某些场景下(比如:用户上传文件或者图片等),一般的做法是将文件信息(文件名,文件路径,文件大小等)保存到文件表(user_file)中,然后再将用户所有上传的文件的id用一个指定字符拼接然后存在表(user)中某个字段里(假设是:file_ids).在展示用户上传的文件时就直接查询文件表中就好了: -- 一般的语句是这样的,假

  • MySql字符串拆分实现split功能(字段分割转列)

    目录 需求描述 实现的sql 案例演示 字符串拆分: SUBSTRING_INDEX(str, delim, count) 替换函数:replace( str, from_str, to_str) 获取字符串长度:LENGTH( str ) 实现的原理解析 扩展:判断外部值是否在 num列值中 文章参考 需求描述 数据库中 num字段值为: 实现的效果:需要将一行数据变成多行 实现的sql SELECT SUBSTRING_INDEX(SUBSTRING_INDEX('7654,7698,778

  • MySQL 字符串拆分操作(含分隔符的字符串截取)

    无分隔符的字符串截取 题目要求 数据库中字段值: 实现效果:需要将一行数据变成多行 实现的sql SELECT LEFT(SUBSTRING('P1111',help_topic_id+1),1) AS num FROM mysql.help_topic WHERE help_topic_id < LENGTH('P1111'); 涉及的知识点 一.字符串截取:SUBSTRING(str,pos) 1.参数说明 参数名 解释 str 需要拆分的字符串 delim 分隔符,通过某字符进行拆分 co

  • MySQL如何用分隔符分隔字符串

    目录 MySQL用分隔符分隔字符串 使用 效果 MySQL存储过程 根据分隔符拆分字符串 MySQL用分隔符分隔字符串 使用 可以使用如下函数 SUBSTRING_INDEX( i.final_car_type, ' ', 1 ) i.final_car_type 即 需要分隔的字符串 ’ ’ 即 用空格分隔该字符串 1 即:取出该空格之前的所有字符 也就是说,如果count是正数,那么就是从左往右数,第N个分隔符的左边的全部内容.相反,如果是负数,那么就是从右边开始数,第N个分隔符右边的所有内

  • js以分隔符分隔数组中的元素并转换为字符串的方法

    如下所示: <html> <body> <script type="text/javascript"> var arr = new Array(3) ; arr[0] = "Jani"; arr[1] = "Hege"; arr[2] = "Stale"; document.write(arr.join() + "<br />");//默认情况下不提供分隔符,

  • MySQL 字符串拆分实例(无分隔符的字符串截取)

    无分隔符的字符串截取 题目要求 数据库中字段值: 实现效果:需要将一行数据变成多行 实现的sql SELECT LEFT(SUBSTRING('P1111',help_topic_id+1),1) AS num FROM mysql.help_topic WHERE help_topic_id < LENGTH('P1111'); 涉及的知识点 一.字符串截取:SUBSTRING(str,pos) 1.参数说明 参数名 解释 str 被截取的字符串 pos 从第几位开始截取,当 pos 为正数时

  • Python cookbook(字符串与文本)针对任意多的分隔符拆分字符串操作示例

    本文实例讲述了Python针对任意多的分隔符拆分字符串操作.分享给大家供大家参考,具体如下: 问题:将分隔符(以及分隔符之间的空格)不一致的字符串拆分为不同的字段: 解决方案:使用更为灵活的re.split()方法,该方法可以为分隔符指定多个模式. 说明:字符串对象的split()只能处理简单的情况,而且不支持多个分隔符,对分隔符周围可能存在的空格也无能为力. # example.py # # Example of splitting a string on multiple delimiter

  • C# Split函数根据特定分隔符分割字符串的操作

    在C#程序开发过程中,很多时候可能需要将字符串根据特定的分割字符分割成字符或者List集合,例如根据逗号将字符串分割为数组,或者根据竖线将字符串分割成数组,C#中提供了Split()函数来快速将字符串分割成数组形式,如果需要转换为List集合,可在分割完成后使用数组的ToList()方法即可转换为List集合数据. 例如下列例子,将字符str按照逗号分隔成数组. string str = "A,B,C,D,E,F,G"; string[] strArr = str.Split(',')

  • python spilt()分隔字符串的实现示例

    1 spilt() 方法作用 通过指定分隔符对字符串进行分隔 注意要拆分的字符串需要要一定规律的分隔符 ,比如"Python is a good language" 这个字符串中间都有个空格,那么我们可以通过这个空格来分隔这个字符串 2  demo 解释spilt() 的使用 2.1 通过指定的字符分隔字符 import re content = "abcabcabc" rex = re.search("c", content) print(re

  • 批量替换 MySQL 指定字段中的字符串

    批量替换的具体语法是: 复制代码 代码如下: UPDATE 表名 SET 指定字段 = replace(指定字段, '要替换的字符串', '想要的字符串') WHERE 条件; 如果你想把 article 表中 ID 小于5000的记录,content 字段中"解决"替换成"解放",那么语法就是: 复制代码 代码如下: UPDATE article SET content = replace(content, '解决', '解放') WHERE ID<5000

  • MySQL产生随机数并连接字符串的方法示例

    本文实例讲述了MySQL产生随机数并连接字符串的方法.分享给大家供大家参考,具体如下: 用到的方法: concat('a','b','c'); 连接字符串 rand(); 产生随机数 floor(); 取整数 SQL语句示例: 复制代码 代码如下: UPDATE user set reg_ip= concat(floor(RAND() * 250),'.',floor(RAND() * 250),'.',floor(RAND() * 250),'.',floor(RAND() * 250)) w

  • python如何拆分含有多种分隔符的字符串

    案例: 把某个字符串依据分隔符拆分,该字符包含不同的多种分隔符,如下 s = '12;;7.osjd;.jshdjdknx+' 其中 ; . + 是分隔符 有哪些解决方案? 方法1:通过str.split()方法,每次处理一个分隔符 #!/usr/bin/python3 def go_split(s, symbol): result = [s] for i in symbol: median = [] # 普通方法 # for x in result: # median.extend(x.spl

随机推荐