我在y表中有这些字符串:
abcdefg_1056-DF或
123erttzz-1292或
gdfgdfg_1056
我想要的只是第一部分, abcdefg 例如第一个字符串。所以我可以用空字符串替换所有数字和所有-DF,但我不知道如何。
想法?
答案 0 :(得分:1)
我建议使用正则表达式替换。看看这里 - 我认为这可能会对你有所帮助:
答案 1 :(得分:1)
如果你保留了一个懒惰和丑陋的方法(并且不建议用于非常非常多的行),你可以省去一个用户定义的函数,就像在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