Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

Restituisce un valore booleano da una query di selezione

Dal lato SQL, puoi fare:

SELECT field1, field2, CAST(1 AS BIT) AS is_field
FROM TABLE

per forzarne la restituzione come BIT anziché come int. Questo dovrebbe fare il trucco

Aggiornamento: Qual è la tua preoccupazione per l'utilizzo di CAST in questo modo? SQL Server è davvero eccezionale nell'ottimizzare, ad es. il piano di esecuzione per la query precedente mostrerebbe che is_field è una costante che può essere valutata una volta in anticipo (c'è un articolo correlato qui:http://msdn.microsoft.com/en-us/library/ms175933.aspx ). Anche senza questo, se sei preoccupato per le prestazioni, non dovresti preoccupartene:sarebbe un'ottimizzazione prematura.