Usando os operadores de comparação na cláusula SELECT da consulta T-SQL
-
22-09-2019 - |
Pergunta
Como selecionar um resultado de operador de comparação, como um campo com o tipo BIT?
Como ele funciona na C#
:
bool isGreater = FieldA > FieldB;
Como ele não funciona no T-SQL
:
SELECT (FieldA > FieldB) AS BIT FROM t
Como escrever tal tarefa corretamente?
Solução
Você deve usar a cláusula de caso:
CASE
WHEN FieldA > FieldB THEN 1
ELSE 0
END AS [BIT]
Outras dicas
Select Convert(Bit, Case When FieldA > FieldB Then 1 Else 0 End) As YourBitColumn
Se você quiser retornar um POUCO, em seguida, você precisa converter (ou molde) para um tipo de dados bit, caso contrário, o SQL iria interpretar o codificado constante (1 ou 0) como um número inteiro.
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow