Teradata 获取列的中间值
我在我的专栏中有一些记录如下Teradata 获取列的中间值,teradata,Teradata,我在我的专栏中有一些记录如下 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 your
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';
如果您只希望记录以G
开头,后跟空格,以AB
结尾,后跟空格,请使用以下WHERE
子句:
WHERE Col1 LIKE 'G % AB'
使用Oracle提供的演示(没有基于web的Teradata演示工具),但语法也应适用于Teradata。谢谢@Tim Biegeleisen。这有帮助