如何在 Teradata sql 中选择最后一个下划线后的字符串
How to pick the string after last underscore in Teradata sql
我需要选择 Teradata sql 中 string
列中最后一个下划线之后出现的部分。如果字符串为空,则它必须 return 为空。字符串可以有多个下划线。
input output
abc_def_ghi ghi
ab_cd_ef_gh_ij ij
ab_cd cd
ab_11_22 22
如何写入正则表达式以捕获此类字符串列的末尾部分?
instr
可以向后查找,instr(col, '_', -1)
找到最后一个下划线:
substr(col, instr(col, '_', -1) +1)
或者正则表达式,它搜索最后一个下划线和字符串结尾之间的字符:
regexp_substr(col,'[^_]*$')
如果没有下划线,这两种解决方案都会 return 完整的字符串。
如果将 RegEx 更改为 '_[^_]*$'
,如果没有下划线,则 return 为 NULL。
我需要选择 Teradata sql 中 string
列中最后一个下划线之后出现的部分。如果字符串为空,则它必须 return 为空。字符串可以有多个下划线。
input output
abc_def_ghi ghi
ab_cd_ef_gh_ij ij
ab_cd cd
ab_11_22 22
如何写入正则表达式以捕获此类字符串列的末尾部分?
instr
可以向后查找,instr(col, '_', -1)
找到最后一个下划线:
substr(col, instr(col, '_', -1) +1)
或者正则表达式,它搜索最后一个下划线和字符串结尾之间的字符:
regexp_substr(col,'[^_]*$')
如果没有下划线,这两种解决方案都会 return 完整的字符串。
如果将 RegEx 更改为 '_[^_]*$'
,如果没有下划线,则 return 为 NULL。