gpt4 book ai didi

mysql - 分割逗号分隔的字符串 --> FUNCTION db.CHARINDEX 不存在

转载 作者:行者123 更新时间:2023-11-29 23:56:50 24 4
gpt4 key购买 nike

我需要将逗号分隔的字符串拆分为第二列我有下表:

CL1     POS                 POS2     LENGHT     ALLELE
1 3015108,3015109 5 A
2 3015110,3015200 10 B
3 3015200,3015300 15 C
4 3015450,3015500 20 D
5 3015600,3015700 15 E

我想将逗号后面的数字拆分到第二列 POS2所以应该是这样的

CL1     POS                 POS2     LENGHT     ALLELE
1 3015108 3015109 5 A
2 3015110 3015200 10 B
3 3015200 3015300 15 C
4 3015450 3015500 20 D
5 3015600 3015700 15 E

所以我查询了以下内容:

INSERT INTO MyTable (POS2)
SELECT RIGHT(POS, CHARINDEX(',', POS) + 1 ) FROM MyTable ;


It returns an error :
ERROR 1305 (42000): FUNCTION test.CHARINDEX does not exist

最佳答案

MySQL 没有内置的 CHARINDEX() 函数。 LOCATE()将是 MySQL 的等价物。

使用SUBSTRING_INDEX()可能是一种更简洁的方法。像这样的东西(免责声明:未经测试):

SUBSTRING_INDEX(POS, ',', 1) 对于 POS

SUBSTRING_INDEX(POS, ',', -1) 对于 POS2

<小时/>

顺便说一句,我可能会误解您想要完成的任务,但看起来您可能想要UPDATE现有行,而不是INSERT新行?像这样的东西:

UPDATE MyTable SET POS2 = SUBSTRING_INDEX(POS, ',', -1);
UPDATE MyTable SET POS = SUBSTRING_INDEX(POS, ',', 1);

关于mysql - 分割逗号分隔的字符串 --> FUNCTION db.CHARINDEX 不存在,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25286449/

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