MySQL中有時需要將字符串進行分隔,常用的方式就是使用字符串分隔符,多個字符串之間用指定的分隔符分隔。以下是關于 MySQL 中字符串分隔符的使用方法。
delimiter $$ -- 創建一個簡單的存儲過程來演示字符串分隔符的使用 create procedure sp_test(IN str varchar(255)) begin set @strList = str; set @separator = ','; set @listPos = locate(@separator, @strList); while @listPos >0 do set @strValue = substring(@strList, 1, @listPos - 1); -- 處理 @strValue set @strList = substring(@strList, @listPos + length(@separator)); set @listPos = locate(@separator, @strList); end while; -- 處理最后一個分隔符之后的字符串 set @strValue = @strList; -- 處理 @strValue end $$
在上面的代碼中,首先使用delimiter
命令將分隔符設置為$$
,這樣在存儲過程中就可以使用分隔符;
了,因為存儲過程會使用$$
分隔符進行結束。
然后創建了一個名為sp_test
的存儲過程,該過程的輸入參數為一個字符串str
。在過程的主體部分中,使用變量來存儲字符串列表、分隔符位置和列表項的值。
通過locate
函數來查找字符串中特定字符的位置,如果有多個匹配項,將處理每個匹配項。在將字符串列表分隔成單個字符串后,可以對單個字符串執行任何必要的處理操作,然后將其存儲到新的變量中。
最后,在處理完字符串列表中的所有項后,將處理最后的字符串,并返回到調用程序中。