我有一个表格颜色,值是这样的
Color
D-E
D-015
E-0157
WWW-014
FER-014
T-015
我期待输出像
Color
D-E
D
E
WWW
FER
T
如果我尝试
select substring(color,1,1) from Color
它正在给我
颜色
D
D
E
W
F
T
如何获得预期的输出。
答案 0 :(得分:1)
您似乎希望将所有内容都添加到第一个连字符(假设'D-E'
作为所需结果是拼写错误):
select left(color, charindex('-', color) - 1)
如果您想要安全,以防颜色没有连字符:
select left(color, charindex('-', color + '-') - 1)
如果您确实想要在第一个连字符后面跟一个数字的所有内容,请使用patindex()
:
select left(color, patindex('%-[0-9]%', color + '-0') - 1)