I have a Table in SQL Server 2000 with BitValue Column. But, it is being displayed as True/False in SQL Server Management Studio. When I do a Select * from Tablename
it returns the BitValue Column values as True/False.
How do I force it to return the value as bits (1/0) instead of True/False?
Any Help will be really appreciated?
Asked
Active
Viewed 1.8e+01k times
31

Butters
- 947
- 5
- 16
- 25
-
1Why are you concerned about the display format of a boolean value in SSMS? – Tim Schmelter Jul 03 '13 at 15:00
-
I'm using those values, doing some work and inserting the values again to that table. But I cannot insert the values as True/False because it throws an error saying something like bit value only accepts 1 or 0. – Butters Jul 03 '13 at 15:02
-
1`True` is just how SSMS displays a column of type `bit` with value `1`. A C# client would receive a value `SqlBoolean.True`. – Andomar Jul 03 '13 at 15:04
-
Possible duplicate [TSQL to return NO or YES instead TRUE or FALSE](http://stackoverflow.com/a/8051839/1563878). I think that Sql Server not returns TRUE or FALSE, please see this [reference](http://msdn.microsoft.com/en-us/library/ms177603.aspx). – Gaston Flores Jul 03 '13 at 15:04
-
This Fails: Update Table Set BitField=True Where ID=1 But this works: Update Table Set BitField=1 Where ID=1 – Butters Jul 03 '13 at 15:04
5 Answers
42
Try with this script, maybe will be useful:
SELECT CAST('TRUE' as bit) -- RETURN 1
SELECT CAST('FALSE' as bit) --RETURN 0
Anyway I always would use a value of 1 or 0 (not TRUE or FALSE). Following your example, the update script would be:
Update Table Set BitField=CAST('TRUE' as bit) Where ID=1

Gaston Flores
- 2,457
- 3
- 23
- 42
23
Modify your query to generate the output that you want.
Try casting them to int:
select cast(bitFlag as int)
Or, if you like, use case
:
select (case when bitFlag = 0 then 0 else 1 end)

Gordon Linoff
- 1,242,037
- 58
- 646
- 786
6
This can be changed to 0/1 through using CASE WHEN
like this example:
SELECT
CASE WHEN SchemaName.TableName.BitFieldName = 'true' THEN 1 ELSE 0 END AS 'bit Value'
FROM SchemaName.TableName

Ashraf Sada
- 4,527
- 2
- 44
- 48
-1
just you pass this things in your select query. using CASE
SELECT
CASE
WHEN gender=0 THEN 'Female'
WHEN gender=1 THEN 'Male'
END
as Gendership from Tablename;

Vishal Parmar
- 524
- 7
- 27
-1
Try this:- SELECT Case WHEN COLUMNNAME=0 THEN 'sex'
ELSE WHEN COLUMNNAME=1 THEN 'Female' END AS YOURGRIDCOLUMNNAME FROM YOURTABLENAME
in your query for only true or false column

Dipak Rathod
- 129
- 13