设置select语句中列的默认值

时间:2019-07-14 21:56:22

标签: sql sql-server

我正在使用SQL Server数据库,并想为表的列设置默认值

SELECT
  COUNT(DISTINCT CASE WHEN id = '5' THEN sid ELSE '0' END) AS 'total'
FROM records

如果此查询未返回任何内容,我想将默认值设置为0。

1 个答案:

答案 0 :(得分:2)

此查询:

SELECT COUNT(DISTINCT CASE WHEN id = 5 THEN sid END) As total
FROM records

总是将仅返回一行。如果没有符合条件的行,则该值为0COUNT()不返回NULL;它返回0

请注意,id可能是数字,因此我删除了单引号。 ELSE子句没有任何意义。我认为在id <> 5时忽略值更有意义。

这个特定的查询最好写成:

SELECT COUNT(DISTINCT sid) As total
FROM records
WHERE id = 5;