У меня есть таблица в SQL Server 2000 с столбцом BitValue. Но в SQL Server Management Studio он отображается как True/False. Когда я делаю Select * from Tablename
, он возвращает значения столбца BitValue как True/False.
Как заставить его вернуть значение в виде битов (1/0) вместо True/False?
Любая помощь будет действительно оценена?
Возвращаемое значение бит как 1/0 и NOT True/False в SQL Server
Ответ 1
Попробуйте с этим script, возможно, будет полезно:
SELECT CAST('TRUE' as bit) -- RETURN 1
SELECT CAST('FALSE' as bit) --RETURN 0
В любом случае я всегда использовал бы значение 1 или 0 (не TRUE или FALSE). Следуя вашему примеру, обновление script будет:
Update Table Set BitField=CAST('TRUE' as bit) Where ID=1
Ответ 2
Измените свой запрос, чтобы сгенерировать требуемый результат.
Попробуйте применить их к int:
select cast(bitFlag as int)
Или, если хотите, используйте case
:
select (case when bitFlag = 0 then 0 else 1 end)
Ответ 3
Это можно изменить на 0/1, используя CASE WHEN
, как этот пример:
SELECT
CASE WHEN SchemaName.TableName.BitFieldName = 'true' THEN 1 ELSE 0 END AS 'bit Value'
FROM SchemaName.TableName