如何在sql server视图中选择1作为位?
我想创建一个视图,在该视图中选择如下内容:如何在sql server视图中选择1作为位?,sql,sql-server-2000,Sql,Sql Server 2000,我想创建一个视图,在该视图中选择如下内容: select id, name, 1 as active from users 但是,我希望在select语句中创建的活动字段(它在表中不存在)是一个位字段。有办法做到这一点吗?您可以使用CONVERT运算符 SELECT id, name, CONVERT(bit, 1) AS active FROM users 强制转换或转换将起作用。是的,您将其强制转换为位: select id, name, cast(1 as bit) as active
select id, name, 1 as active
from users
但是,我希望在select语句中创建的活动字段(它在表中不存在)是一个位字段。有办法做到这一点吗?您可以使用CONVERT运算符
SELECT id, name, CONVERT(bit, 1) AS active
FROM users
强制转换或转换将起作用。是的,您将其强制转换为位:
select id, name, cast(1 as bit) as active
from users
在某些情况下,与位值相比,这也有助于提高性能:
select id, name
from users
where active = cast(1 as bit)
(在本例中,这可能没有实际的区别,但我在更复杂的查询中看到了实际的区别。)
这可能是你想要做的
select id, name, CAST(1 AS bit) as active
from users
1
是真位的显示。你的目标是什么
做
select CAST('true' AS bit) as active
还返回
1
。SQL Server没有True和False常量。
select CAST('true' AS bit) as active