2017-04-25 16 views
2

SQLにかなり新しいとISNULL文でトリムSQLフィールドとISNULL

LTRIM(RTRIM(CA.CUSTNMBR)) as AccountNumber 

を使用した場合、データをトリミングに問題を有する使用上の私にスペースなしで口座番号(正しい)

,ISNULL(NAN.SageAccountNo, LTRIM(RTRIM(CA.CUSTNMBR))) AS AccountNumber 
を与えます

私は上記のISNULLステートメントで同じ原則を使用しようとしましたが、正しい列を返しますが、データをトリミングしません。

+0

私はそれが動作するはずのように、これが見えることに同意するものとします。おそらくマイクロソフトの質問です。最初の非NULLを選択するために 'COALESE(NAN.SageAccountNo、LTRIM(R.CUSTNMBR)))AccountNumber'を試しましたか? – lit

+0

'SageAccountNo'のdataypeは固定幅' char'または 'nchar'ですか? –

答えて

2

私は、あなたがしたいと思う:

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

これはSageAccountNoまたはCUSTNMBRのいずれかをトリミングします。

+0

働いてくれてありがとう:) –

1

あなただけISNULLLTRIM(RTRIM(を使用する必要があります。

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

それはとてもシンプルなものになると思ってくれてありがとう –