【发布时间】:2011-04-27 04:20:39
【问题描述】:
我想创建一个视图,在其中我选择如下内容:
select id, name, 1 as active
from users
但是,我希望我在 select 语句中创建的活动字段(它在表中不存在)是一个位字段。有没有办法做到这一点?
【问题讨论】:
标签: sql sql-server-2000
我想创建一个视图,在其中我选择如下内容:
select id, name, 1 as active
from users
但是,我希望我在 select 语句中创建的活动字段(它在表中不存在)是一个位字段。有没有办法做到这一点?
【问题讨论】:
标签: sql sql-server-2000
您可以使用 CONVERT 运算符。
SELECT id, name, CONVERT(bit, 1) AS active
FROM users
CAST 或 CONVERT 将起作用。
【讨论】:
是的,你把它变成了比特:
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, Convert(bit, 1) as active
from users
是你可能想要做的。
【讨论】:
select id, name, CAST(1 AS bit) as active
from users
1 是一个真位的显示。你想达到什么目的。
在做
select CAST('true' AS bit) as active
也返回1。
【讨论】: