2017-04-25 61 views
2

相当新的SQL,并修剪数据有问题,在ISNULL声明修剪SQL字段并使用ISNULL

LTRIM(RTRIM(CA.CUSTNMBR)) as AccountNumber 

上面使用的时候给了我不带空格的帐号(正确)

,ISNULL(NAN.SageAccountNo, LTRIM(RTRIM(CA.CUSTNMBR))) AS AccountNumber 

然后我尝试在上面的ISNULL语句中使用相同的原则,但它返回正确的列但不修剪数据。

+0

我同意这看起来像它应该工作。可能是微软的一个问题。你尝试过'COALESE(NAN.SageAccountNo,LTRIM(RTRIM(CA.CUSTNMBR)))AS AccountNumber'来选择第一个非NULL? – lit

+0

“SageAccountNo”的dataype是固定宽度“char”还是“nchar”? –

回答

2

我想你想:

LTRIM(RTRIM(COALESCE(NAN.SageAccountNo, CA.CUSTNMBR))) as AccountNumber 

这将削减要么SageAccountNoCUSTNMBR

+0

非常感谢:) –

1

你只需要使用LTRIM(RTRIM(ISNULL外:

LTRIM(RTRIM(ISNULL(NAN.SageAccountNo, CA.CUSTNMBR))) 
+0

谢谢你知道这将是如此简单:) –