将空值添加到Varchar值

时间:2010-09-22 12:27:40

标签: sql sql-server

我有2个名为“name”和“surname”的列我希望返回两个连接的结果。

但是我有一个问题,surname列接受null值,并且在这种情况下连接为null ..我想在这种情况下只是拥有NAME

这是代码:

SELECT 
    c.ID_CONT,
    c.ID_TYPE_CONTACT,
    c.ID_PARAM_CENTRE,
    c.FONCTION_CONT,
    c.MEMO_CONT,
    c.VISIBLE_CONT,
    c.NAME_CONT +' '+c.SURNAME_CONT as NAMESURNAME      
FROM dbo.CONTACT c 

当姓氏空白或充满时,它会起作用。

很多..

3 个答案:

答案 0 :(得分:6)

试试这个:

isnull(c.NAME_CONT +' ', '')+isnull(c.SURNAME_CONT,'')

答案 1 :(得分:3)

SURNAME_CONT为NULL值时,请考虑省略空格分隔字符。当SURNAME_CONT为空字符串时,还要考虑处理。 COALESCE是标准SQL,例如

c.NAME_CONT + COALESCE(' ' + NULLIF(c.SURNAME_CONT, ''), '')

答案 2 :(得分:2)

有一个函数ISNULL(expression,replacement_value)

refer to msdn manual

所以你可以这样做:

SELECT 
    c.ID_CONT,
    c.ID_TYPE_CONTACT,
    c.ID_PARAM_CENTRE,
    c.FONCTION_CONT,
    c.MEMO_CONT,
    c.VISIBLE_CONT,
    c.NAME_CONT +' '+ISNULL(c.SURNAME_CONT, '') as NAMESURNAME      
FROM dbo.CONTACT c