MySQL存储过程可以用于分割字符串,下面就为您详细介绍这种MySQL存储过程的用法,供您参考学习之用. 现有一段字符串,如apple,banana,orange,pears,grape,要把它按照逗号(,)分割成: apple banana orange pears grape 然后使用where in()方法可以查询. 1.具体函数: # 函数:func_split_TotalLength DELIMITER $$ DROP function IF EXISTS `fun
第一种:多次使用substring_index()的方法 DELIMITER $$ DROP PROCEDURE IF EXISTS `array`$$ CREATE PROCEDURE `array`() BEGIN SET @array_content="www mysql com hcymysql blog 51cto com"; SET @i=1; SET @count=CHAR_LENGTH(@array_content)-CHAR_LENGTH(REPLACE(@arra
/** * 把省的字符串转换成列表 * * @param province * @return */ private List<String> getProvinceList(String province) { List<String> result = new ArrayList<>(); if (StringUtils.isEmpty(province)) { return result; } int index = 0; int currIndex = prov
--使用CAST将varchar转换成int类型排序 select distinct(zone_id) from guild_rank_info order by CAST(zone_id as SIGNED); --使用CONVERT将varchar转换成int类型排序 select distinct(zone_id) from guild_rank_info order by convert(zone_id , SIGNED); null
返回值为'1,2,3,4,5,6,7',是一个字符串,如果要用IN 查询的话sql认为这是一个完整的字符串,需要将内容分隔转换变成table 定义函数如下: create Function sysfStrToTable(@str varchar(1000)) Returns @tableName Table ( str2table varchar(50) ) As --该函数用于把一个用逗号分隔的多个数据字符串变成一个表的一列,例如字符串'1,2,3,4,5' 将变成一个表 Begin set
CREATE FUNCTION [dbo].[Split](@separator VARCHAR(64)=',',@string NVARCHAR(MAX)) RETURNS @ResultTab TABLE ( Id INT , Res NVARCHAR(500) ) AS BEGIN DECLARE @Num INT IF(@string IS NOT NULL AND @string <> '' AND LEN(@string)>0