Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

Renvoie une valeur booléenne à partir d'une requête de sélection

Du côté SQL, vous pouvez faire :

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

pour le forcer à être retourné comme un BIT au lieu d'un int. Cela devrait faire l'affaire

Mise à jour : Quelle est votre préoccupation pour l'utilisation de CAST comme ça ? SQL Server est assez génial pour optimiser, par exemple. le plan d'exécution pour la requête ci-dessus montrerait que is_field est une constante qui peut être évaluée une fois à l'avance (il y a un article connexe ici :http://msdn.microsoft.com/en-us/library/ms175933.aspx ). Même sans cela, si vous êtes préoccupé par les performances, vous ne devriez pas vous en soucier :ce serait une optimisation prématurée.