只有在非空时才需要将3个字段连接到一个带回车的字段

时间:2015-12-29 21:00:14

标签: sql sql-server

我需要将3个地址行字段组合成一个格式化的地址块字段,并且只有当第2行和第3行不为空时,才会在行之间返回回车。

我现在的代码是:

rename *

因此,例如,如果地址行1等于2014 Main St且地址行2和3为null,则结果中会有两个额外的回车符。如果填充ADDR2和/或ADDR3,我只想有条件地具有回车线。谁能告诉我如何在T-SQL中做到这一点?

提前感谢您的帮助

2 个答案:

答案 0 :(得分:1)

尝试此SQL查询:

SET addressblock = addr2_1
                    + ISNULL(CHAR(13) + CHAR(10) + addr2_2, '')
                    + ISNULL(CHAR(13) + CHAR(10) + addr2_3, '')

答案 1 :(得分:1)

如果评估的文本参数中有ISNULL,则

NULL将返回true。

SELECT ISNULL( ADD1 , '') +
       ISNULL( CHAR(13)+CHAR(10) + ADD2 , '') + 
       ISNULL( CHAR(13)+CHAR(10) + ADD3  , '')