数字と文字を含む列があります。例:a5c648a6。文字のペアごとに次の文字を追加し:
、変更した文字を別の列に挿入する必要があります。つまり、出力はike:a5:c6:48:aであると想定されます。:
最後の文字の後に追加する必要はないことに注意してください。
質問する
139 次
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 に答える