Gibt einen booleschen Wert aus einer Select-Abfrage zurück

8

Ich möchte einen booleschen Wert auswählen:

%Vor%

In Visual Studio 2010 mache ich:

%Vor%

Aber ich bekomme die Ausnahme:

  

Der angegebene Cast ist nicht gültig.

Wie kann ich einen booleschen Wert als boolean und nicht als int ?

zurückgeben?     
Naor 23.02.2011, 08:35
quelle

2 Antworten

20

Von SQL-Seite aus können Sie Folgendes tun:

%Vor%

, um zu erzwingen, dass es als BIT anstelle von int zurückgegeben wird. Das sollte den Trick machen

Aktualisierung: Was ist Ihr Anliegen, CAST so zu benutzen? SQL Server ist ziemlich genial bei der Optimierung von z. Der Ausführungsplan für obige Abfrage würde zeigen, dass is_field eine Konstante ist, die einmal im Voraus ausgewertet werden kann (es gibt einen verwandten Artikel hier: Ссылка ). Auch wenn Sie sich keine Gedanken über die Leistung machen, sollten Sie sich keine Gedanken darüber machen - es wäre eine vorzeitige Optimierung.

    
AdaTheDev 23.02.2011, 08:39
quelle
4

Per @ AdaTheDevs Vorschlag:

%Vor%     
Ron Klein 24.02.2011 10:16
quelle