dmr*_*dmr 41 sql sql-server-2000
我想创建一个视图,我在其中选择如下内容:
select id, name, 1 as active
from users
Run Code Online (Sandbox Code Playgroud)
但是,我希望我在select语句中创建的活动字段(它在表中不存在)是一个位字段.有没有办法做到这一点?
bob*_*obs 65
您可以使用CONVERT运算符.
SELECT id, name, CONVERT(bit, 1) AS active
FROM users
Run Code Online (Sandbox Code Playgroud)
CAST或CONVERT将起作用.
Dus*_*ine 12
select id, name, CAST(1 AS bit) as active
from users
Run Code Online (Sandbox Code Playgroud)
1是真实位的显示.你想要达到什么目标?
干
select CAST('true' AS bit) as active
Run Code Online (Sandbox Code Playgroud)
1也回来了.
是的,您将其转换为:
select id, name, cast(1 as bit) as active
from users
Run Code Online (Sandbox Code Playgroud)
在某些情况下,与位值进行比较时,这对于提高性能也很有用:
select id, name
from users
where active = cast(1 as bit)
Run Code Online (Sandbox Code Playgroud)
(在此示例中,这可能没有实际的区别,但是我已经看到了更复杂的查询中的实际区别。)