获取列的中间值

Get the Middle Value of the Column

我的专栏中有如下某些记录

Col1
G XXXXX AB
G XXX XXX AB
G XXX XXXXX AB
G XXX AB

场景是G开头AB结尾的都在中间获取

所以结果会是这样的

XXXXX
XXX XXX
XXX XXXXX
XXX

我们可以尝试使用正则表达式替换从匹配记录中删除前导 G 和尾随 AB

SELECT
    Col1,
    REGEXP_REPLACE(Col1, '^G\s*|\s*AB$', '') AS Col1_Middle
FROM yourTable
WHERE
    Col1 LIKE 'G%AB';

Demo

如果您只想要以 G 开头后跟 space 并以 AB 结尾后跟 space 的记录,则使用以下 WHERE 子句改为:

WHERE Col1 LIKE 'G % AB'

使用 Oracle 给出的演示(没有基于 Web 的 Teradata 演示工具),但语法应该也适用于 Teradata。