想象一下,我在 View (SQL Server 2008)中具有以下SELECT语句:

SELECT (SELECT CASE
                 WHEN HISTORY.OUTOFSERV = 'Y' OR HISTORY.OUTOFSERV = 'y' THEN 1
                 ELSE 0
               END) AS OOS
  FROM HISTORY

OOS列最终是int类型的,但是我希望它是bit类型的。我该怎么做?

最佳答案

使用CAST/CONVERT显式定义数据类型:

SELECT CAST (CASE
               WHEN LOWER(h.outofserv) = 'y' THEN 1
               ELSE 0
             END AS BIT) AS OOS
 FROM HISTORY h

关于sql - 在SQL Server 2008中使用列别名指定数据类型,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3136050/

10-11 02:19
查看更多