我在列上有以下值:
DB3-0800-VRET,
DB3-0800-IC,
IB-TZ-850-IB,
O11FS-OB ...
我想从每个值中删除短划线后的最后一部分。 我需要得到以下结果:
DB3-0800-VRET -> DB3-0800,
DB3-0800-IC -> DB3-0800,
O11FS-OB -> O11FS
我尝试使用RedShift的SPLIT_PART函数,但是没有运气。 如果有人知道使用正则表达式来选择我需要的部分,我将不胜感激。
答案 0 :(得分:2)
在Postgres和Redshift中,您都应该可以使用regexp_replace()
:
select regexp_replace(str, '-[^-]+$', '')