MySQL如何用分隔符分隔字符串
MySQL用分隔符分隔字符串
使用
可以使用如下函數(shù)
SUBSTRING_INDEX( i.final_car_type, ' ', 1 )
- i.final_car_type 即 需要分隔的字符串
- ’ ’ 即 用空格分隔該字符串
- 1 即:取出該空格之前的所有字符
也就是說,如果count是正數(shù),那么就是從左往右數(shù),第N個分隔符的左邊的全部內(nèi)容。相反,如果是負數(shù),那么就是從右邊開始數(shù),第N個分隔符右邊的所有內(nèi)容
效果
如果count 是1
- 表里數(shù)據(jù):東風風神全新AX7馬赫版 DF 21(天窗版)
- 拆分后:東風風神全新AX7馬赫版
如果count 是-1
- 表里數(shù)據(jù):東風風神全新AX7馬赫版 DF 21(天窗版)
- 拆分后:21(天窗版)
MySQL存儲過程 根據(jù)分隔符拆分字符串
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;
ENDselectIds為需要拆分的字符串,splitChar為分隔符. 拆分的結(jié)果保存在臨時表Id_Result_s中.
while中有insert語句,循環(huán)插入.在while前后加上start transaction和commit可以提高效率.
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
window環(huán)境配置Mysql 5.7.21 windowx64.zip免安裝版教程詳解
這篇文章主要介紹了window環(huán)境配置Mysql 5.7.21 windowx64.zip免安裝版教程詳解,需要的朋友可以參考下2018-02-02
查看本地MYSQL數(shù)據(jù)庫IP地址的三種方法
本文介紹了多種方法來查看連接到本地MySQL服務器的IP地址,括使用SQL查詢從`information_schema.processlist`獲取IP地址,并通過`group by`進行統(tǒng)計,以及通過命令行工具如`mysql`和`awk`進行過濾和計數(shù),這些方法有助于監(jiān)控和管理數(shù)據(jù)庫連接,需要的朋友可以參考下2024-10-10
centos7.2下安裝mysql5.7數(shù)據(jù)庫的命令詳解
這篇文章主要介紹了centos7.2下安裝mysql5.7數(shù)據(jù)庫,文中給出了所有的命令,按照命令執(zhí)行就會安裝上 ,需要的朋友可以參考下2019-07-07

