Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/67.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 作为字段-连接可能为空的值_Sql_Sql Server_Sql Server 2008_Tsql - Fatal编程技术网

Sql 作为字段-连接可能为空的值

Sql 作为字段-连接可能为空的值,sql,sql-server,sql-server-2008,tsql,Sql,Sql Server,Sql Server 2008,Tsql,我有以下的T-SQL查询 SELECT Site.Address1 + CHAR(13) + Site.Address2 + CHAR(13) + Site.Address3 + CHAR(13) + Site.Town + CHAR(13) + Site.eCounty AS SiteAddress FROM Site 如果构成Site address的Site.AddressX字段中有任何字段是NULL,则Site address本

我有以下的T-SQL查询

SELECT      
    Site.Address1 + CHAR(13) + Site.Address2 + CHAR(13) + 
        Site.Address3 + CHAR(13)  + Site.Town + CHAR(13) + 
        Site.eCounty AS SiteAddress
FROM Site
如果构成
Site address
Site.AddressX
字段中有任何字段是
NULL
,则
Site address
本身就是
NULL
。我想要一个
Site.AddressX
字段,如果它是
NULL
,那么它后面的新行字符将被忽略

我曾尝试为单个字段及其新行字符添加
CASE
语句,但未能使其正常工作

SELECT      
    (CASE WHEN (Site.Address1 IS NULL) THEN '' ELSE Site.Address1 + CHAR(10)) +
        Site.Address2 + CHAR(13) + 
        Site.Address3 + CHAR(13)  + Site.Town + CHAR(13) + 
        Site.eCounty AS SiteAddress
FROM Site
我该怎么做呢?

试试这个:

SELECT      
        COALESCE([Site].Address1 + CHAR(13), '')  + 
        COALESCE([Site].Address2 + CHAR(13), '')  + 
        COALESCE([Site].Address3 + CHAR(13), '')  + 
        COALESCE([Site].Town + CHAR(13), '') + 
        [Site].eCounty AS SiteAddress
FROM [Site]
试试这个

SELECT      
    CASE WHEN Site.Address1 IS NULL THEN '' 
    ELSE Site.Address1 + CHAR(10) +
        Site.Address2 + CHAR(13) + 
        Site.Address3 + CHAR(13)  + Site.Town + CHAR(13) + 
        Site.eCounty END AS SiteAddress 
FROM SITE Site

COALESCE(Site.Address1+CHAR(13),“”)+等等…我实际上开始使用
ISNULL()
编写一个非常类似的解决方案,但在快速阅读了
COALESCE()
之后,我转而使用它。