电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術文章
文章詳情頁

mysql字符串分割功能實現

瀏覽:215日期:2023-02-18 16:43:29
目錄
  • mysql字符串分割
    • 1、字符串分割函數
    • 2、創建存儲過程,循環插入截取的每一條數據
  • 擴展:mysql字段的分割截取功能(模擬split)

    mysql字符串分割

    1、字符串分割函數

    drop function if exists str_for_substr;CREATE    DEFINER = `root`@`%` FUNCTION `str_for_substr`(`num` int, `str` varchar(5000))    RETURNS varchar(100) no sqlBEGIN    /*函數功能: 把帶逗號的字符串分割取出參數: num 要取出的字符串的索引值, 以0開始    str 以逗號分割的字符串擴展: 將###替換成其他符合,即可完成不同分隔符拆分字符串,亦可以把分隔符作為參數  */    SET @str_for_substr =    SUBSTRING(    SUBSTRING_INDEX(str, "###", num + 1),    CASE numWHEN 0 THENCHAR_LENGTH(SUBSTRING_INDEX(str, "###", num)    ) + 1ELSECHAR_LENGTH(SUBSTRING_INDEX(str, "###", num)    ) + 4END,    CASE numWHEN 0 THENCHAR_LENGTH(SUBSTRING_INDEX(str, "###", num + 1)    ) - CHAR_LENGTH(SUBSTRING_INDEX(str, "###", num)    )ELSECHAR_LENGTH(SUBSTRING_INDEX(str, "###", num + 1)    ) - CHAR_LENGTH(SUBSTRING_INDEX(str, "###", num)    ) - 1END);    RETURN @str_for_substr;END;

    2、創建存儲過程,循環插入截取的每一條數據

    drop procedure if exists split_str;CREATE    DEFINER = `root`@`%` PROCEDURE `split_str`()BEGIN    DECLARE cnt int default 0;    DECLARE num int default 0;    DECLARE i int default 0;    DECLARE j int default 0;    declare str varchar(4000);#   統計當前截取字段表的數據量    select count(1) into cnt from test;#   循環查詢每一條數據,此處可以換成游標處理    while i<= cnt doselect query_knowledge_list_string into str from test limit i,1;#       查詢每條數據###出現的次數SET num = (LENGTH(str) - LENGTH(REPLACE(str, "###", ""))) / 3;while j <= num do#       循環插入截取后的數據INSERT INTO test1 (knowledge_name, subject_name, grade_name)select str_for_substr(j,str), subjectName, grade_namefrom test limit i,1;    set j = j + 1;    end while;#       循環值歸零set j = 0;set i = i + 1;end while;END;

    擴展:mysql字段的分割截取功能(模擬split)

    大家好,又見面了。每次見面就說明我又解決了一個疑難雜癥。今天這個問題更狠一些,又讓我的sql能力有了進一步的提高。簡單說我我最近為什么會有這么多的sql問題,主要原因就是我們從數據中臺的hive庫同步數據,而他們庫里的數據實在是臟的過分,有各種你想象不到數據,而我們也推不動不了他們,沒把辦法就只能通過sql自己處理。

    接下來看看今天的奇葩問題。我們同步過來的數據內容如下。

    最可怕就是在類型的前面多了一些數字加頓號。這些內容對于我來講是完全沒有意義的,我需要的只是頓號后面的內容。那么我應該怎么處理得到后面的內容呢。最先想到的是split. 但是后來查了一下,mysql居然不支持split函數。真是讓我大失所望。后來只能去找相近的函數,發現有一個INSTR() 函數,可以用來判斷時段中是否包含某個字符串 ,并返回包含字符串對應的索引。在結合SUBSTR函數進行截取,就可以完美解決這個問題了。

    同時還要注意,最好做下判斷,只有當字段中包含這個字符串時才進行截取,不包含則不截取。最終得到的sql如下:

    select year,case when INSTR(subtype,"、")>0 then SUBSTR(subtype,INSTR(subtype,"、")+1)else subtype END subtypefrom xxx_table_name

    最終得到結果成功。

    到此這篇關于mysql字符串分割的文章就介紹到這了,更多相關mysql字符串分割內容請搜索以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持!

    標簽: MySQL
    主站蜘蛛池模板: 木材烘干机,木炭烘干机,纸管/佛香烘干设备-河南蓝天机械制造有限公司 | 镀锌钢格栅_热镀锌格栅板_钢格栅板_热镀锌钢格板-安平县昊泽丝网制品有限公司 | 冷却塔风机厂家_静音冷却塔风机_冷却塔电机维修更换维修-广东特菱节能空调设备有限公司 | H型钢切割机,相贯线切割机,数控钻床,数控平面钻,钢结构设备,槽钢切割机,角钢切割机,翻转机,拼焊矫一体机 | 胶水,胶粘剂,AB胶,环氧胶,UV胶水,高温胶,快干胶,密封胶,结构胶,电子胶,厌氧胶,高温胶水,电子胶水-东莞聚力-聚厉胶粘 | 山东钢格板|栅格板生产厂家供应商-日照森亿钢格板有限公司 | 振动台-振动试验台-振动冲击台-广东剑乔试验设备有限公司 | 截齿|煤截齿|采煤机截齿|掘进机截齿|旋挖截齿-山东卓力截齿厂家报价 | 上海单片机培训|重庆曙海培训分支机构—CortexM3+uC/OS培训班,北京linux培训,Windows驱动开发培训|上海IC版图设计,西安linux培训,北京汽车电子EMC培训,ARM培训,MTK培训,Android培训 | 低压载波电能表-单相导轨式电能表-华邦电力科技股份有限公司-智能物联网综合管理平台 | 纸箱抗压机,拉力机,脂肪测定仪,定氮仪-山东德瑞克仪器有限公司 | 工装定制/做厂家/公司_工装订做/制价格/费用-北京圣达信工装 | 凝胶成像仪,化学发光凝胶成像系统,凝胶成像分析系统-上海培清科技有限公司 | 万濠影像仪(万濠投影仪)百科-苏州林泽仪器 | 有声小说,听书,听小说资源库-听世界网 | 玉米深加工设备-玉米深加工机械-新型玉米工机械生产厂家-河南粮院机械制造有限公司 | 防堵吹扫装置-防堵风压测量装置-电动操作显示器-兴洲仪器 | 淄博不锈钢,淄博不锈钢管,淄博不锈钢板-山东振远合金科技有限公司 | 颗粒机,颗粒机组,木屑颗粒机-济南劲能机械有限公司 | 精密五金加工厂-CNC数控车床加工_冲压件|蜗杆|螺杆加工「新锦泰」 | 欧必特空气能-商用空气能热水工程,空气能热水器,超低温空气源热泵生产厂家-湖南欧必特空气能公司 | 西子馋火锅鸡加盟-太原市龙城酉鼎餐饮管理有限公司 | ET3000双钳形接地电阻测试仪_ZSR10A直流_SXJS-IV智能_SX-9000全自动油介质损耗测试仪-上海康登 | 发电机组|柴油发电机组-批发,上柴,玉柴,潍柴,康明斯柴油发电机厂家直销 | 济南ISO9000认证咨询代理公司,ISO9001认证,CMA实验室认证,ISO/TS16949认证,服务体系认证,资产管理体系认证,SC食品生产许可证- 济南创远企业管理咨询有限公司 郑州电线电缆厂家-防火|低压|低烟无卤电缆-河南明星电缆 | RS系列电阻器,RK_RJ启动调整电阻器,RQ_RZ电阻器-上海永上电器有限公司 | 六维力传感器_六分量力传感器_模腔压力传感器-南京数智微传感科技有限公司 | 陕西安闸机-伸缩门-车牌识别-广告道闸——捷申达门业科技 | 钢衬四氟管道_钢衬四氟直管_聚四氟乙烯衬里管件_聚四氟乙烯衬里管道-沧州汇霖管道科技有限公司 | 顺景erp系统_erp软件_erp软件系统_企业erp管理系统-广东顺景软件科技有限公司 | 网络推广公司_网络营销方案策划_企业网络推广外包平台-上海澜推网络 | 全自动包装秤_全自动上袋机_全自动套袋机_高位码垛机_全自动包装码垛系统生产线-三维汉界机器(山东)股份有限公司 | 【中联邦】增稠剂_增稠粉_水性增稠剂_涂料增稠剂_工业增稠剂生产厂家 | 长沙中央空调维修,中央空调清洗维保,空气能热水工程,价格,公司就找维小保-湖南维小保环保科技有限公司 | 全自动包衣机-无菌分装隔离器-浙江迦南科技股份有限公司 | 中控室大屏幕-上海亿基自动化控制系统工程有限公司 | 济南菜鸟驿站广告|青岛快递车车体|社区媒体-抖音|墙体广告-山东揽胜广告传媒有限公司 | 地图标注|微信高德百度地图标注|地图标记-做地图[ZuoMap.com] | 除尘器布袋骨架,除尘器滤袋,除尘器骨架,电磁脉冲阀膜片,卸灰阀,螺旋输送机-泊头市天润环保机械设备有限公司 | 全自动五线打端沾锡机,全自动裁线剥皮双头沾锡机,全自动尼龙扎带机-东莞市海文能机械设备有限公司 | 北京遮阳网-防尘盖土网-盖土草坪-迷彩网-防尘网生产厂家-京兴科技 |