我想连接一个字符串
我想要这样的输出:
NEX-SYM-VIM-CRE
如果输入为NEX-NULL-NULL-VRE
,则表示NEX---CRE
或---CRE
或NEX---
,因为我已将NULL
替换为-
但要获得像NEX-SYM
这样的最终结果的连接不会出现
答案 0 :(得分:2)
这样的东西?
ISNULL(NEX,'-') + '-' + ISNULL(SYM,'-') + '-' + ISNULL(VIM,'-') + '-' + ISNULL(CRE,'-')
答案 1 :(得分:2)
始终在右侧添加-
分隔符,但仅在有值时添加:
NULLIF(
COALESCE(NEX + '-', '')
+ COALESCE(SYM + '-', '')
+ COALESCE(VIM + '-', '')
+ COALESCE(CRE + '-', ''), ''
)
然后你总是需要修剪最后一个字符(将是一个-
分隔字符),除非结果是NULL
。