Teradata SQL - 如何获取连字符前的所有内容?

Teradata SQL - how to get everything before hyphen?

问题是如何在 Teradata 中使用 SQL 获取连字符前的所有数据?

模式是这样的:123ABC-456。我只需要123ABC。

这个正则表达式:

SELECT RegExp_Replace('123ABC-456',  '\w[^-]*$')

returns“123ABC-”由于某种原因带有连字符

和这个 "^[^-]*[^ -]" - returns "-456" 而不是 "123ABC"

请帮忙?

您可以尝试使用 REGEXP_SUBSTR()

select REGEXP_SUBSTR('123ABC-456',  '^[^-]*[^ -]')