Подтвердить что ты не робот

Возвращаемое значение бит как 1/0 и NOT True/False в SQL Server

У меня есть таблица в SQL Server 2000 с столбцом BitValue. Но в SQL Server Management Studio он отображается как True/False. Когда я делаю Select * from Tablename, он возвращает значения столбца BitValue как True/False. Как заставить его вернуть значение в виде битов (1/0) вместо True/False? Любая помощь будет действительно оценена?

4b9b3361

Ответ 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