2010-10-18 15 views
29

Quiero crear una vista en la que selecciono algo como lo siguiente:¿Cómo selecciono un 1 como un bit en una vista sql-server?

select id, name, 1 as active 
from users 

Sin embargo, quiero que el campo activo, que estoy creando en la instrucción de selección (que no existe en la tabla) , para ser un poco campo. ¿Hay alguna forma de hacer esto?

Respuesta

47

Puede usar el operador CONVERTIR.

SELECT id, name, CONVERT(bit, 1) AS active 
FROM users 

CAST o CONVERT funcionarán.

4

Sí, lo lanzas a poco:

select id, name, cast(1 as bit) as active 
from users 

Esto también puede ser útil para mejorar el rendimiento cuando se compara con un valor de bit en algunas situaciones:

select id, name 
from users 
where active = cast(1 as bit) 

(En este ejemplo, podría no hace ninguna diferencia práctica, pero he visto una diferencia real en consultas más complicadas.)

1
select id, name, Convert(bit, 1) as active 
from users 

Es lo que es probable que quieras hacerlo.

+4

SQL Server no tiene constantes True y False. – bobs

9
select id, name, CAST(1 AS bit) as active 
from users 

1 es la pantalla para un cierto bit. ¿Qué estás tratando de lograr?

Haciendo

select CAST('true' AS bit) as active 

vuelve 1 también.

Cuestiones relacionadas