返回顶部
首页 > 资讯 > 数据库 >mysql如何实现split操作?
  • 782
分享到

mysql如何实现split操作?

后端 2023-08-20 09:08:36 782人浏览 八月长安
摘要

在 Mysql 中并没有内置的 split() 函数,但可以通过自定义函数或存储过程来实现字符串分割。以下是几种实现方法: 自定义函数 fn_split(): DROP FUNCTioN IF EXISTS f

alt

Mysql 中并没有内置的 split() 函数,但可以通过自定义函数或存储过程来实现字符串分割。以下是几种实现方法:

自定义函数 fn_split()

DROP FUNCTioN IF EXISTS fn_split;
DELIMITER $$
CREATE FUNCTION fn_split(s TEXT, del CHAR(1), i INT)
RETURNS VARCHAR(1024)
DETERMINISTIC -- always returns same results for same input parameters
sql SECURITY INVOKER 
BEGIN
    DECLARE n INT;
    -- get max number of items
    SET n = LENGTH(s) - LENGTH(REPLACE(s, del, '')) + 1;
    IF i > n THEN
        RETURN NULL;
    ELSE
        RETURN SUBSTRING_INDEX(SUBSTRING_INDEX(s, del, i), del, -1);
    END IF;
END$$
DELIMITER ;

存储过程 splitString()

DROP PROCEDURE IF EXISTS `splitString`;
DELIMITER $$
CREATE PROCEDURE `splitString`(IN f_string VARCHAR(1000), IN f_delimiter VARCHAR(5))
BEGIN
    DECLARE cnt INT DEFAULT 0;
    DECLARE i INT DEFAULT 0;
    SET cnt = LENGTH(f_string) - LENGTH(REPLACE(f_string, f_delimiter, '')) + 1;
    DROP TABLE IF EXISTS temp_split_string;
    CREATE TEMPORARY TABLE temp_split_string (id INT AUTO_INCREMENT PRIMARY KEY, val VARCHAR(50));
    WHILE (i < cnt) DO
        INSERT INTO temp_split_string (val)
        SELECT SUBSTRING_INDEX(SUBSTRING_INDEX(f_string, f_delimiter, i + 1), f_delimiter, -1);
        SET i = i + 1;
    END WHILE;
    SELECT * FROM temp_split_string;
    DROP TABLE IF EXISTS temp_split_string;
END$$
DELIMITER ;

mysql中一个很好用的截取字符串的函数:substring_index

substring_index("字符串","分割符",位置N)

详细说明: 首先,设待处理对象字符串为"1,2,3,4,5",这里截取的依据是逗号:",",具体要截取第N个逗号前部分的字符。

意思是:在字符串中以逗号为索引,获取不同索引位的字符。

select substring_index("1,2,3,4,5",',',2)
-- 1,2

本文由 mdnice 多平台发布

来源地址:https://blog.csdn.net/gzjgzj12345/article/details/129384182

您可能感兴趣的文档:

--结束END--

本文标题: mysql如何实现split操作?

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

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

猜你喜欢
  • mysql如何实现split操作?
    在 MySQL 中并没有内置的 split() 函数,但可以通过自定义函数或存储过程来实现字符串分割。以下是几种实现方法: 自定义函数 fn_split(): DROP FUNCTION IF EXISTS f...
    99+
    2023-08-20
    后端
  • 【MySQL】MySQL中如何实现分页操作
    MySQL中的分页操作 一、 背景 什么是分页,就是查询时候数据量太大,一次性返回所有查询结果既耗费网络资源、又降低了查询效率,用户也不可能一下子看完成千上万条数据。所以分页的技术就应运而生。分页可以...
    99+
    2023-09-17
    mysql 数据库 sql
  • MySql字符串拆分如何实现split功能
    这篇文章主要讲解了“MySql字符串拆分如何实现split功能”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“MySql字符串拆分如何实现split功能”吧!需求描述数据库中 num字段值为:...
    99+
    2023-06-30
  • Python如何实现MySQL客户端操作库
    这篇文章主要介绍了Python如何实现MySQL客户端操作库,具有一定借鉴价值,需要的朋友可以参考下。希望大家阅读完这篇文章后大有收获。下面让小编带着大家一起了解一下。PyMySQL 是一个纯 Python...
    99+
    2024-04-02
  • MySQL中如何实现多表查询操作
    本篇文章给大家分享的是有关MySQL中如何实现多表查询操作,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。create table&n...
    99+
    2024-04-02
  • MySQL中如何实现全文搜索操作
    本篇文章为大家展示了MySQL中如何实现全文搜索操作,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。全文搜索通过MATCH()函数完成。> CREATE TAB...
    99+
    2024-04-02
  • binlog2sql如何实现MySQL误操作的恢复
    小编给大家分享一下binlog2sql如何实现MySQL误操作的恢复,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!对于MySQL...
    99+
    2024-04-02
  • nodejs如何操作mysql实现增删改查
    这篇文章将为大家详细讲解有关nodejs如何操作mysql实现增删改查,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。首先需要安装mysql模块:npm install m...
    99+
    2024-04-02
  • 如何进行分区表split操作及maxvalue处理
    这篇文章将为大家详细讲解有关如何进行分区表split操作及maxvalue处理,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。CREATE TABLE DFMS.WIP_D_WO_DETAIL...
    99+
    2023-06-06
  • mysql如何操作
    这篇文章将为大家详细讲解有关mysql如何操作,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。    管理 创建表create  &nb...
    99+
    2024-04-02
  • MySQL如何搭建主从同步实现操作
    小编给大家分享一下MySQL如何搭建主从同步实现操作,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!一、MySQL 8.0 主从同步主从同步的流程(原理):mast...
    99+
    2023-06-29
  • vue-Split如何实现面板分割
    这篇文章主要为大家展示了“vue-Split如何实现面板分割”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“vue-Split如何实现面板分割”这篇文章吧。具体内容如下<template&g...
    99+
    2023-06-29
  • javascript如何实现cookie操作
    小编给大家分享一下javascript如何实现cookie操作,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧! ...
    99+
    2024-04-02
  • gORM操作MySQL的实现
    ORM 框架 ORM:Object  Relational   Mapping  —— 对象关系映射。 作用: 通过操作结构体对象...
    99+
    2024-04-02
  • mysql索引如何实现增删改查的操作
    这篇文章主要介绍了mysql索引如何实现增删改查的操作,具有一定借鉴价值,需要的朋友可以参考下。希望大家阅读完这篇文章后大有收获。下面让小编带着大家一起了解一下。mysql中可使用“CREATE INDEX...
    99+
    2024-04-02
  • mysql中如何实现多表联合查询操作
    这篇文章将为大家详细讲解有关mysql中如何实现多表联合查询操作,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。MySQL多表联合查询语法:复制代码 代码如下...
    99+
    2024-04-02
  • jsp文件操作之如何实现读取操作
    这篇文章主要介绍jsp文件操作之如何实现读取操作,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!文件操作是网站编程的重要内容之一,asp关于文件操作讨论的已经很多了,让我们来看看jsp中是如何实现的。   这里用到了两...
    99+
    2023-06-03
  • python如何操作mysql
    mysql 使用 启动服务 sudo systemctl start mysql pip3 install pymysql python 操作数据库: 定义类 import pymysql cla...
    99+
    2022-05-13
    python MySQL python 操作MySQL
  • MySQL Workbench如何操作
    下面讲讲关于MySQL Workbench如何操作,文字的奥妙在于贴近主题相关。所以,闲话就不谈了,我们直接看下文吧,相信看完MySQL Workbench如何操作这篇文章你一定会有所受益。  &...
    99+
    2024-04-02
  • linux如何操作mysql
    这篇文章给大家分享的是有关linux如何操作mysql的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。试着研究openfire,顺道简单研究了一下mysql。win可以从官网站直接...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作