楠楠妈 发表于 2023-9-14 12:02:27

值为null时在查询中设置默认值

我正在运行一个非常简单的查询,但是对于某些结果,一个字段中的值为空。如果该值为null,如何将其设置为“字符串”?
就像是
SELECT RegName,
    RegEmail,
    RegPhone,
    RegOrg,
    RegCountry,
    DateReg,
    (Website IS NULL? 'no website' : Website) AS WebSite
FROM RegTakePart
WHERE Reject IS NULL
它将在sql server 2005上运行
谢谢
               
解决方案:
               


                使用以下内容:
SELECT RegName,
       RegEmail,
       RegPhone,
       RegOrg,
       RegCountry,
       DateReg,
       ISNULL(Website,'no website')AS WebSite
FROM   RegTakePart
WHEREReject IS NULL
或@Lieven指出:
SELECT RegName,
       RegEmail,
       RegPhone,
       RegOrg,
       RegCountry,
       DateReg,
       COALESCE(Website,'no website')AS WebSite
FROM   RegTakePart
WHEREReject IS NULL
COALESCE的动态之处在于您可以定义更多的参数,因此,如果第一个为null,则获取第二个参数,如果第二个为null,则获取第三个,依此类推…
页: [1]
查看完整版本: 值为null时在查询中设置默认值