如何根据列的内容在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