1

我有一列包含数字和字母。例如:a5c648a6。我需要:在每对字符之后添加以下字符,并将修改后的字符插入另一列。即,输出应该是 ike:a5:c6:48:a。请注意,我不需要:在最后一个字符之后添加。

4

1 回答 1

1

请试试这个:

在 mysql 数据库中创建以下函数:

DELIMITER //
CREATE FUNCTION insert2(str text, pos int, delimit varchar(124))
RETURNS text
DETERMINISTIC
BEGIN
DECLARE i INT DEFAULT 1;
DECLARE str_len INT;
DECLARE out_str text default '';
SET str_len=length(str);
WHILE(i<str_len) DO
SET out_str=CONCAT(out_str, SUBSTR(str, i,pos), delimit);
SET i=i+pos; 
END WHILE;
-- trim delimiter from end of string
SET out_str=TRIM(trailing delimit from out_str);
RETURN(out_str);
END//
DELIMITER ;

然后使用要转换为 MAC 地址的字符串执行函数:

select insert2('a5c648a6',2,':')

您现在可以将 替换'a5c648a6'为数据库列字段名称并运行函数来转换字符串。

于 2012-08-26T07:55:51.667 回答