我在 y 表中有这些字符串:
abcdefg_1056-DF 或
123erttzz-1292 或
gdfgdfg_1056
我想要的只是第一部分,例如第一个字符串的abcdefg 。所以我可以用空字符串替换所有数字和所有 -DF,但我不知道如何。
想法?
如果您使用一种懒惰和丑陋的方法(并且不推荐用于非常非常多的行),您可以像 mwerner 的回答那样为自己节省一个用户定义的函数,并像这样简单地做:
select
replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(asdf, '0', ''), '1', ''), '2', ''), '3', ''), '4', ''), '5', ''), '6', ''), '7', ''), '8', ''), '9', ''), '_', ''), '-DF', '')
from
(
select
'abcdefg_1056-DF' as asdf
union select
'123erttzz-1292'
union select
'gdfgdfg_1056'
)q
我会建议一个正则表达式替换。看看这里 - 我认为这可能会帮助你: