当前位置: 首页 > 面试题库 >

将分隔的字符串值拆分为行

翁宏茂
2023-03-14
问题内容

一些外部数据供应商希望给我一个数据字段-管道分隔的字符串值,我觉得这很难处理。

没有应用程序编程语言的帮助,有没有办法将字符串值转换为行?

但是,存在一个困难,该字段具有未知数量的定界元素。

有问题的数据库引擎是MySQL。

例如:

Input: Tuple(1, "a|b|c")

Output:

Tuple(1, "a")
Tuple(1, "b")
Tuple(1, "c")

问题答案:

它可能没有我最初想象的那么困难。

这是一种通用方法:

  1. 计算分隔符的出现次数 length(val) - length(replace(val, '|', ''))
  2. 循环多次,每次获取一个新的定界值并将该值插入第二个表中。


 类似资料:
  • 问题内容: 我需要在SQL Server 2012中将一列中的字符串拆分为一个字符,并将每个字符串拆分成它自己的列。 例如:如果我有一个栏,我需要把它拆分成,,,,,与每个这些转化为自己列。 要拆分的列的长度可能会有所不同,因此我需要使其尽可能地动态。 问题答案: 您可以这样做: 输出: 这是动态版本:

  • 问题内容: 我有一个值为的字符串。我想将字符串分成两个字符串,值为的字符串和的值为字符串。 正确的功能/语法是什么? 我已经看过了,但是找不到将数据返回到两个单独的字符串中的实际语法。 问题答案: 该功能适用于:

  • 我有一个输入字符串,其中包含由分隔符(| |)分隔的4个ID。我使用的代码如下: 但有些情况下并非所有ID都存在,如: 在上面的场景中,拆分不会分为4个部分,并且无法判断拆分数组中缺少哪个id。 有人可以帮助一个有效的解决方案。

  • 问题内容: 当我有1、2、3等字符串列表时,我想将此列用作一列 是否可以通过sql查询? 例如) <-我知道这不起作用。 问题答案: 使用任意数字的子查询来分割您的字符串。您可以使用‘1,2,3’代替vals。 看到它正常工作

  • 问题内容: 我有一个像这样的字符串: 现在指示键值对,而将其分开。我想将键值对添加到地图。 我可以使用以下方法实现此目的: 但是,有一种有效的方法吗? 我觉得代码效率低下,因为我使用了2个对象并两次调用了该函数。另外,我正在使用,如果没有值,可能会引发。 问题答案: 您可以使用以下代码对split()进行一次调用,并对String进行一次传递。但是,它当然首先假定字符串有效: 上面的代码 可能 比

  • 问题内容: 我有一个看起来像这样的字符串: Python中是否有内置类/函数将采用该字符串并构造一个字典,就像我已经做到了那样: 我浏览了可用的模块,但似乎找不到任何匹配的模块。 谢谢,我确实知道如何自己编写相关代码,但是由于此类较小的解决方案通常是等待发生的雷区(即有人写道:Name1 =’Value1 = 2’;)等,因此我通常更喜欢使用测试功能。 那我自己去做 问题答案: 没有内置功能,但是