Mam tabelę w SQL Server 2000 z kolumną BitValue. Ale jest wyświetlany jako True/False w SQL Server Management Studio. Kiedy robię Select * from Tablename
, zwraca wartości kolumn BitValue jako True/False. W jaki sposób wymuszam zwracanie wartości jako bitów (1/0) zamiast wartości Prawda/fałsz? Każda pomoc będzie naprawdę doceniana?Wartość bitu powrotnego jako 1/0 i NIE prawda/fałsz w SQL Server
20
A
Odpowiedz
16
Zmodyfikuj zapytanie, aby wygenerować żądane wyniki.
Spróbuj przesłać je do int:
select cast(bitFlag as int)
Albo, jeśli chcesz używać case
:
select (case when bitFlag = 0 then 0 else 1 end)
31
Spróbuj z tego skryptu, może będzie przydatny:
SELECT CAST('TRUE' as bit) -- RETURN 1
SELECT CAST('FALSE' as bit) --RETURN 0
W każdym razie zawsze używałbym wartości 1 lub 0 (nie TRUE lub FALSE). W następstwie swojej przykład skrypt aktualizacja będzie:
Update Table Set BitField=CAST('TRUE' as bit) Where ID=1
4
to można zmienić na 0/1 poprzez zastosowanie CASE WHEN
jak w poniższym przykładzie:
SELECT
CASE WHEN SchemaName.TableName.BitFieldName = 'true' THEN 1 ELSE 0 END AS 'bit Value'
FROM SchemaName.TableName
dlaczego jesteś zaniepokojony formatu wyświetlania wartości logicznej w SSMS? –
Używam tych wartości, wykonuję pracę i wstawiam wartości do tej tabeli. Ale nie mogę wstawić wartości jako Prawda/Fałsz, ponieważ powoduje to błąd mówiąc, że coś jak wartość bitowa akceptuje tylko 1 lub 0. – Butters
'True' to po prostu jak SSMS wyświetla kolumnę typu' bit' z wartością '1'. Klient C# otrzyma wartość 'SqlBoolean.True'. – Andomar