如何在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