Bre*_*ent 12 sql t-sql sql-server sql-server-2008
想象一下,我在视图中有以下SELECT语句(SQL Server 2008):
SELECT (SELECT CASE
WHEN HISTORY.OUTOFSERV = 'Y' OR HISTORY.OUTOFSERV = 'y' THEN 1
ELSE 0
END) AS OOS
FROM HISTORY
Run Code Online (Sandbox Code Playgroud)
OOS列最终是int类型,但我希望它是bit类型.我怎么能做到这一点?
OMG*_*ies 24
使用CAST/CONVERT显式定义数据类型:
SELECT CAST (CASE
WHEN LOWER(h.outofserv) = 'y' THEN 1
ELSE 0
END AS BIT) AS OOS
FROM HISTORY h
Run Code Online (Sandbox Code Playgroud)