使用ISNULL不会产生预期的结果

时间:2019-10-02 14:58:36

标签: sql sql-server-2008

我正在尝试将一个人的姓名的几列连接成一列,并最终连接到一个临时表中。我无法使ISNULL函数正常工作。

我尝试使用ISNULL来有效地说“如果此列为空,则忽略它”。我已经读过一个叫做ISBLANK的命令,但是在我的SQL Server版本上似乎不起作用。

SELECT
    co.serialnumber, co.envelopesalutation, 
    co.title + ' ' + LEFT(co.firstname, 1) + ' ' + ISNULL(LEFT(co.otherinitial, 1), '') +
               ' ' + co.keyname + ' ' + ISNULL(co.POSTNOMINAL, '') [Correct]
INTO 
    TEMPENVSALUTATION
FROM
    contact co
WHERE
    co.contacttype = 'Individual' 
    AND co.title IN ('Mr', 'Mrs', 'Ms', 'Miss', 'Mx', 'Dr')

例如,我希望在TEMPENVSALUTATION表中,某人的姓氏为Mr,乔恩的姓氏为J,史密斯的姓氏为co-keyinit,而史密斯的后缀名为J Smith,

我实际上得到的仅仅是只有同姓的人,例如史密斯先生。

0 个答案:

没有答案