gpt4 book ai didi

mysql - 如何使用 MySQL 在 -(破折号)之后拆分所有内容

转载 作者:行者123 更新时间:2023-11-29 01:36:56 26 4
gpt4 key购买 nike

我需要在用 -(破折号)分隔的单元格内拆分数据,并将其放入单独的列中。我遇到的问题是可能有多个 -

因此使用下表和来自 sic_orig 的原始数据,我需要将所有内容放在 sic_num 中第一个 - 之前以及所有内容在 sic_desc 中的第一个 - 之后。我敢肯定这真的很容易,但是我似乎找不到任何明确的地方。



这是我的表应该看起来的样子,sic_orig 是源,sic_numsic_desc 是从 sic_orig 中提取的数据:

              sic_orig                |  sic_num  |        sic_desc
---------------------------------------------------------------------------
509406 - Jewelers-Wholesale | 509406 | Jewelers-Wholesale
--------------------------------------|-----------|------------------------
506324 - Burglar Alarm Systems | 506324 | Burglar Alarm Systems
--------------------------------------|-----------|------------------------
502317 - Picture Frames-Wholesale | 502317 | Picture Frames-Wholesale



此代码有效,但只有在有两个 - 并且某些单元格可能有 1、2 或 3 个 -

时才能正常工作
 UPDATE test_tbl_1 
SET sic_num = SUBSTRING_INDEX(`sic_orig`, '-', 1),
sic_desc = SUBSTRING_INDEX(`sic_orig`, '-', -2);



如何拆分第一个 - 之前的所有内容和第一个 - 之后的所有内容?

最佳答案

一种方法是使用第一部分的长度并将其用于substr():

UPDATE test_tbl_1 
SET sic_num = SUBSTRING_INDEX(`sic_og`, '-', 1),
sic_desc = SUBSTR(sig_og, CHAR_LENGTH(SUBSTRING_INDEX(`sic_og`, '-', 1)) + 1) ;

关于mysql - 如何使用 MySQL 在 -(破折号)之后拆分所有内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39581561/

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