web-dev-qa-db-fra.com

Renvoie la valeur en bits sous la forme 1/0 et non vraie ou fausse dans SQL Server

J'ai une table dans SQL Server 2000 avec BitValue Column. Mais, il est affiché comme True/False dans SQL Server Management Studio. Quand je fais un Select * from Tablename, il renvoie les valeurs de la colonne BitValue sous la forme Vrai/Faux . Comment le force-t-il à renvoyer la valeur sous forme de bits (1/0) au lieu de Vrai/Faux? .__ Toute aide sera vraiment appréciée ?

25
Butters

Essayez avec ce script, peut-être sera utile:

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

Quoi qu'il en soit, je voudrais toujours utiliser une valeur de 1 ou 0 (pas VRAI ou FAUX). Suivant votre exemple, le script de mise à jour serait:

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

Modifiez votre requête pour générer le résultat souhaité.

Essayez de les jeter à int:

select cast(bitFlag as int)

Ou, si vous préférez, utilisez case:

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

Ceci peut être changé en 0/1 en utilisant CASE WHEN comme dans cet exemple:

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

dans votre requête pour seulement la colonne vraie ou fausse 

0
Dipak Rathod

vous passez juste ces choses dans votre requête sélectionnée. en utilisant CASE

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