如何根据’-‘字符分割以下字符串?
所以如果我有这个字符串: LD-23DSP-1430
LD-23DSP-1430
我如何将其拆分为这样的单独列:
LD 23DSP 1430
另外,如果我需要(没有’-‘),是否可以将每个字符分成一个单独的字段?我正在尝试找到一种用北约字母替换每个字母的方法。
因此,这将是.....利马三角洲23三角洲塞拉帕帕14-30 ....在一个领域中。
我知道我可以像这样得到左侧:
LEFT(@item, CHARINDEX('-', @item) - 1)
我不会确切地说这是容易的还是显而易见的,但是只要使用两个连字符,您就可以反转字符串,而且也不太难:
with t as (select 'LD-23DSP-1430' as val) select t.*, LEFT(val, charindex('-', val) - 1), SUBSTRING(val, charindex('-', val)+1, len(val) - CHARINDEX('-', reverse(val)) - charindex('-', val)), REVERSE(LEFT(reverse(val), charindex('-', reverse(val)) - 1)) from t;
除此之外,您可能想要使用它split()。
split()