我想创建一个视图,我在其中选择以下内容:
select id, name, 1 as active
from users
但是,我希望我在select语句中创建的活动字段(它在表中不存在)是一个位字段。有没有办法做到这一点?
答案 0 :(得分:57)
您可以使用CONVERT运算符。
SELECT id, name, CONVERT(bit, 1) AS active
FROM users
CAST或CONVERT可以使用。
答案 1 :(得分:10)
select id, name, CAST(1 AS bit) as active
from users
1
是真实位的显示。你想要达到什么目的。
做
select CAST('true' AS bit) as active
也会返回1
。
答案 2 :(得分:4)
是的,你把它投了一下:
select id, name, cast(1 as bit) as active
from users
在某些情况下与比特值进行比较时,这对提高性能也很有用:
select id, name
from users
where active = cast(1 as bit)
(在这个例子中,它可能没有实际的区别,但我看到了更复杂的查询的实际差异。)
答案 3 :(得分:2)
select id, name, Convert(bit, 1) as active
from users
你可能想做什么。