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