SQL返回0而不是NULL

时间:2016-02-01 12:41:38

标签: sql sql-server-2008

尝试在以下选项中返回0而非NULL但未成功:

SELECT
    IsNull(CASE WHEN TICKET IS NOT NULL THEN 1 ELSE 0 END,0) AS TICKET
FROM
    TICKETS
WHERE
    TICKET = '2'

有什么建议吗?感谢。

2 个答案:

答案 0 :(得分:3)

在查看答案和答案之后,我认为你想要的是:如果没有数据返回,请选择0否则选择1 ..所以:

SELECT case when exists(select 1 from tickets where ticket = '2')
       then 1 else 0 end as IND

答案 1 :(得分:1)

使用CASE表达式:

SELECT (CASE WHEN TICKET IS NOT NULL THEN 1 ELSE 0 END) AS TICKET
FROM TICKETS
WHERE TICKET = '2'

然而,这没有任何意义,因为在给定NULL子句的情况下,值不能为WHERE。所以,你可以这样做:

SELECT 1
FROM TICKETS
WHERE TICKET = '2';