gpt4 book ai didi

mysql匹配一个或多个空格

转载 作者:行者123 更新时间:2023-11-29 13:49:20 38 4
gpt4 key购买 nike

我有一个名为“matches”的字符串列,其中包含如下数据:

054T,Arequipa,Peru

我正在使用查询来提取子字符串,例如提取第一个出现的术语:

SUBSTRING_INDEX(matches, ',', 1)

成功返回054T。现在的问题是我的数据由一个或多个空格分隔:

054T     Arequipa    Peru

和:

SUBSTRING_INDEX(matches, ' ', 1)

不返回 054T,一个或多个空格的分隔符之类的正则表达式是什么?

谢谢

最佳答案

这应该可以解决问题:

SELECT LEFT(matches, LOCATE(' ', matches) - 1);

LOCATE 返回第一个空白符号的索引(从 1 开始),使用 LEFT 您只需从字符串左侧获取该数量的符号。

当其中没有空格时,此代码片段将返回值本身:

SELECT IF(
LOCATE(' ', matches) != 0,
LEFT(matches, LOCATE(' ', matches) - 1),
matches
);
<小时/>

如果,正如您提到的,可以同时存在空格和制表符,只需相应地准备字符串:

SELECT LEFT(matches, LOCATE(' ', REPLACE(matches, '\t', ' ')) - 1);

我仍然想知道,你不能将其标准化吗:

UPDATE your_table SET matches = REPLACE(matches, '\t', REPEAT(' ', 4));

...或者,也许更好,只是将其移动到另一个表中(因为它目前看起来确实像是一个伪装的集合)。

关于mysql匹配一个或多个空格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16905833/

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