【发布时间】:2017-08-28 05:22:29
【问题描述】:
假设我有一个返回一组值的表,
+--------------------------+
| MyColumn |
+--------------------------+
| some string 929190. here |
| basic 092019. test |
| lorem i 092988. |
| 029109magic. lorem ipsum |
+--------------------------+
我需要做的是使用以下规则从该表中选择 1)如果数字前面有空格并以“。”结尾获取数字并删除剩余的值 2)获取“。”之后的文本并将其放置到新列中
+--------------------------+-------------+
| MyColumn | string |
+--------------------------+-------------+
| 929190 | here |
| 092019 | test |
| 092988 | |
| 029109magic | lorem ipsum |
+--------------------------+-------------+
我设法做了一个,但它只适用于特定情况。
select (CASE
WHEN MyColumn REGEXP '([0-9]{7}.$)' THEN SUBSTR(MyColumn, 8, 6)
) from TableTest
还有其他解决方法或捷径吗?我最终可能会声明所有可能的情况?
【问题讨论】:
-
很好,它对我有用,而不会逃脱点。感谢您的反馈。
标签: mysql regex select substring