如果它们在SQL 2008中是数字,则将两列连接到一列

时间:2013-11-14 17:23:08

标签: sql-server coalesce

这就是我正在使用的。问题在于它是数字的。 我还需要-来分开。

COALESCE([STORE_RECEIPT_NUM], '') + '-' + COALESCE(e.[STORE_ID], '')

示例:

STORE_RECEIPT_NUM = 12345
STORE_ID = 611

列RECEIPT_NUM应为12345-611

然而,它添加了它们并且出现了12956

如果我使用非数字的列,则效果很好

1 个答案:

答案 0 :(得分:1)

您没有说出您正在使用的SQL类型,但请尝试:

CAST(COALESCE([STORE_RECEIPT_NUM], '') AS VARCHAR(9)) 
+ '-' 
+ CAST(COALESCE(e.[STORE_ID], '') AS VARCHAR(9))