【发布时间】:2023-03-19 11:52:01
【问题描述】:
如何只选择列的一部分?我知道我可以使用子字符串,但我需要选择列的字符串部分。例如:列可以包含以下内容:
DIRL100
我只需要在一列中选择DIRL 部分,而在另一列中选择100 部分。
我可以像这样使用这个特定的列:
SELECT SUBSTRING(column, 5) AS part1,
SUBSTRING(column, 1, 4) AS part2 ....
但我不能确定它在获得数字之前总是 4 个字母 (DIRL) .. 我可以以某种方式使用 REGEXP 或其他东西来仅提取每列中的数字部分和字母部分吗?
换句话说.. 我可以按字母结束的位置拆分一列吗?例如,它可以包含DIRL100 或AB100200,它们应分成两列,每列包含列中的字母(DIRL 或 AB)和列中的数字(100 或 100200)?
【问题讨论】:
-
完全不明白你的问题,你能举一些例子和预期的输出吗?
-
(但我不能确定它在获得数字之前总是 4 个字符(DIRL))那么你的拆分条件是什么?
-
拆分条件是前缀以字母结尾。将更新问题
-
你需要 MariaDB 的
regexp_replace()。