gpt4 book ai didi

MySQL 如何将列中的字符串按 ""拆分并将结果插入到另一列中?

转载 作者:行者123 更新时间:2023-11-29 19:24:39 25 4
gpt4 key购买 nike

我想问如何用“”从列(表中的所有行)中拆分字符串并将结果插入到同一个表中的另一列中

非常感谢您的建议。

表结构示例:

------------------------------------------
| Original string | Spliced string |
------------------------------------------
| Some string 001 | Some,String,001 |
------------------------------------------

最佳答案

如果我需要在分隔符上“拆分”字符串,我可能会使用漂亮的 SUBSTRING_INDEX 函数。但有一些怪癖需要注意。

我采取的方法肯定是先编写一条 SELECT 语句。这将包括 SELECT 列表中的表达式,该表达式返回我想要分配给另一列的“分隔”值。在编写 UPDATE 语句之前,我会使用 SELECT 语句测试这些表达式。

SELECT t.id
, t.column_i_want_to_split
, expr1
FROM mytable t
ORDER BY t.id

为了测试特定情况,我会使用内联 View

SELECT t.id
, t.note
, t.val
, expr1
FROM ( SELECT 1 AS id, 'empty string test' AS note, '' AS val
UNION ALL SELECT 2, 'null', NULL
UNION ALL SELECT 3, 'one space', ' '
UNION ALL SELECT 4, 'four spaces', ' '
UNION ALL SELECT 5, 'test5', ' abc def '
UNION ALL SELECT 6, 'test6', 'g hi kl m'
) t
ORDER BY t.id

一旦我的表达式返回了我想要分配给另一列的值,我就会将 SELECT 转换为 UPDATE 语句。要处理所有行,请省略 WHERE 子句。

 UPDATE mytable t
SET t.another_column = expr1

如果没有更明确的规范,或者至少没有一些您试图实现的目标的具体示例,我们只是猜测。仅给出问题的一般描述,我们只能提供一些一般性建议。

关于MySQL 如何将列中的字符串按 ""拆分并将结果插入到另一列中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42237439/

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