在SQL Server中将位值返回为1/0而不是True / False

时间:2013-07-03 14:57:51

标签: sql select bit

我在SQL Server 2000中有一个带有BitValue列的表。但是,它在SQL Server Management Studio中显示为True / False。当我执行Select * from Tablename时,它将BitValue Column值返回为True / False。 如何强制它将值返回为位(1/0)而不是True / False? 任何帮助都会非常感激吗?

5 个答案:

答案 0 :(得分:38)

尝试使用此脚本,可能会有用:

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

无论如何,我总是会使用值1或0(不是TRUE或FALSE)。按照您的示例,更新脚本将是:

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

答案 1 :(得分:17)

修改您的查询以生成所需的输出。

尝试将它们转换为int:

select cast(bitFlag as int)

或者,如果您愿意,请使用case

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

答案 2 :(得分:5)

通过使用List(1, 5) List(2, 6) List(3) ,可以将此更改为0/1,如下例所示:

CASE WHEN

答案 3 :(得分:0)

只要您在选择查询中传递此内容即可。使用CASE

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

答案 4 :(得分:0)

 Try this:- SELECT Case WHEN COLUMNNAME=0 THEN 'sex'
              ELSE WHEN COLUMNNAME=1 THEN 'Female' END AS YOURGRIDCOLUMNNAME FROM YOURTABLENAME

在查询中仅包含true或false列