it-swarm.com.de

Geben Sie den Bitwert in SQL Server als 1/0 und NICHT wahr/falsch zurück

Ich habe eine Tabelle in SQL Server 2000 mit BitValue Column. Es wird jedoch in SQL Server Management Studio als "True/False" angezeigt. Wenn ich einen Select * from Tablename mache, gibt er die Werte der BitValue-Spalte als True/False zurück. Wie erzwinge ich, dass der Wert als Bits (1/0) anstelle von True/False zurückgegeben wird? ?

25
Butters

Versuchen Sie es mit diesem Skript, vielleicht wird es nützlich sein:

SELECT CAST('TRUE' as bit) -- RETURN 1
SELECT CAST('FALSE' as bit) --RETURN 0

Jedenfalls würde ich immer einen Wert von 1 oder 0 verwenden (nicht TRUE oder FALSE). Nach Ihrem Beispiel würde das Aktualisierungsskript lauten:

Update Table Set BitField=CAST('TRUE' as bit) Where ID=1
37
Gaston Flores

Ändern Sie Ihre Abfrage, um die gewünschte Ausgabe zu generieren.

Versuchen Sie, sie nach int zu gießen:

select cast(bitFlag as int)

Wenn Sie möchten, verwenden Sie case:

select (case when bitFlag = 0 then 0 else 1 end)
17
Gordon Linoff

Dies kann durch Verwendung von CASE WHEN wie im folgenden Beispiel auf 0/1 geändert werden:

SELECT 
 CASE WHEN SchemaName.TableName.BitFieldName = 'true' THEN 1 ELSE 0 END AS 'bit Value' 
 FROM SchemaName.TableName
4
Ashraf Abusada
 Try this:- SELECT Case WHEN COLUMNNAME=0 THEN 'sex'
              ELSE WHEN COLUMNNAME=1 THEN 'Female' END AS YOURGRIDCOLUMNNAME FROM YOURTABLENAME

in Ihrer Abfrage nur für die Spalte "true" oder "false" 

0
Dipak Rathod

sie übergeben diese Dinge einfach in Ihrer Auswahlabfrage. mit CASE

CASE WHEN  gender=0 then 'Female' WHEN  gender=1 then 'Male' END as Genderdisp
0
Vishal Parmar