gpt4 book ai didi

mysql - 如何在字符串MySQL中的每个字符后插入空格

转载 作者:行者123 更新时间:2023-11-29 05:00:13 26 4
gpt4 key购买 nike

我有一个字符串,出于报告/对齐的目的,我需要在每个字符后插入一个空格。不幸的是,我将不得不在 SQL 中执行此操作,否则我可以编写格式函数。

例如"abcd123"将其转换为 "a b c d 1 2 3 "。

由于它是针对相当多的行,我想知道每次解析每个字符并构建一个新字符串的优化程度如何?

感谢任何帮助。

谢谢

最佳答案

这是一个可以解决您的问题的快速而肮脏的 mysql 函数:

delimiter ||
DROP FUNCTION IF EXISTS concat_whitespace||
CREATE FUNCTION concat_whitespace( x longtext) RETURNS longtext
LANGUAGE SQL NOT DETERMINISTIC READS SQL DATA
BEGIN
DECLARE len INT UNSIGNED;
DECLARE erg LONGTEXT;
SET len = LENGTH(x);
REPEAT
SET erg = CONCAT_WS(' ',SUBSTRING(x,len,1),erg);
SET len = len - 1;
UNTIL len < 1 END REPEAT;
return erg;
END;
||

现在试试这个:

Select concat_whitespace("abcd123")

返回 “a b c d 1 2 3”

这个函数基本上是循环每个字符并连接一个空格。方向是从头到尾,保存一个计数器变量。

我还没有做过任何性能测试,相信你可以以某种方式优化它..

关于mysql - 如何在字符串MySQL中的每个字符后插入空格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1928392/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com