如何根据列的内容在T-SQL中输出布尔值?

时间:2020-03-06 14:58:16  来源:igfitidea点击:

我提出了对不同表的列进行抽象的视图,并对它们进行预过滤和预排序。有一列我不关心其内容,但我需要知道该内容是否为空。因此,如果此指定列的值不为null,则我的视图应将别名传递为" true",如果值为null,则应传递" false"。

使用T-SQL(Microsoft SQL Server 2000)是否可能?

提前致谢!

解决方案

我们必须为此使用CASE语句:

SELECT CASE WHEN columnName IS NULL THEN 'false' ELSE 'true' END FROM tableName;

对于视图中的列,我们可以使用类似

CASE WHEN ColumnName is not null THEN 'True' ELSE 'False' END

或者在声明中

SELECT 
s.ID,
s.[Name],
CASE WHEN s.AchievedDate is not null THEN 'True' ELSE 'False' END [IsAchieved]
FROM Schools s

或者以后再作进一步处理,我个人将使用

SELECT 
s.ID,
s.[Name],
CASE WHEN s.AchievedDate is not null THEN 1 ELSE 0 END [IsAchieved]
FROM Schools s