sql >> Database >  >> RDS >> Sqlserver

Retourneer een booleaanse waarde van een selectiequery

Vanuit SQL-kant kunt u het volgende doen:

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

om te forceren dat het wordt geretourneerd als een BIT in plaats van een int. Dat zou moeten lukken

Bijwerken: Wat maakt u zich zorgen over het gebruik van CAST op deze manier? SQL Server is behoorlijk geweldig in het optimaliseren van b.v. het uitvoeringsplan voor bovenstaande query zou laten zien dat is_field een constante is die een keer van tevoren kan worden geëvalueerd (er is hier een gerelateerd artikel:http://msdn.microsoft.com/en-us/library/ms175933.aspx ). Zelfs zonder dat, als u zich zorgen maakt over de prestaties, hoeft u zich daar geen zorgen over te maken - het zou in hoge mate voortijdige optimalisatie zijn.



  1. Een login.sql-bestand maken voor SQLcl

  2. Waarom duurt een Microsoft SQL Server 2012-query minuten via JDBC 4.0, maar seconden in Management Studio?

  3. mysql unie ander aantal kolommen

  4. triggers maken voor After Insert, After Update en After Delete in SQL