gpt4 book ai didi

mysql - 来自另一个 SQL 的列的子字符串

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

我有下表。

+--------------------+-----+
|fardet_cd_fare_basis|part2|
+--------------------+-----+
| MEO00RIG| 00R|
| MEO00RIG| RIG|
| MEO00RIG| I|
+--------------------+-----+

我需要从“fartdet_cd_fare_basis”中提取链的第一部分,直到出现“part2”,一个例子是:

+--------------------+-----+--------+
|fardet_cd_fare_basis|part2| num|
+--------------------+-----+--------+
| MEO00RIG| 00R| MEO|
| MEO00RIG| RIG| MEO00|
| MEO00RIG| I| MEO00RI|
+--------------------+-----+--------+

我正在使用 Spark SQL,但我使用了 sql 解决方案。有什么想法吗?

最佳答案

我想我明白你想要什么。试试这个。

LiveDemo

select fardet_cd_fare_basis,part2,
substr(
fardet_cd_fare_basis,
1,
instr(fardet_cd_fare_basis,part2)-1
) as der_sub
from your_table

输出

+----------------------+--------+---------+
| fardet_cd_fare_basis | part2 | der_sub |
+----------------------+--------+---------+
| MEO00RIG | (null) | (null) |
| MEO00RIG | O | ME |
| MEO00RIG | 00R | MEO |
| MEO00RIG | RIG | MEO00 |
| MEO00RIG | 00 | MEO |
| MEO00RIG | I | MEO00R |
| MEO00RIG | R | MEO00 |
| MEO00RIG | 00 | MEO |
+----------------------+--------+---------+

注意:如果第一列中不存在 part2,则您将不会在输出中得到任何内容。另外,如果 part2 为 null,那么您将得到 null。如果需要,您可以单独处理它们。

关于mysql - 来自另一个 SQL 的列的子字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38072267/

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