我有下面类似的列值,希望排除字符以及连字符,只返回数字。替换函数并不完全有用,因为有时字符长度是3,有时是4,请参阅下面的数字长度变化。
abc-1234567
sdfr-9876540
try-12345678
case-098765
如果您想要最后一个连字符后的零件,可以使用substring_index()
:
select substring_index(col, '-', -1)
您也可以使用regexp_substr()
:提取末尾的数字
select regexp_substr(col, '[0-9]+$')