valor tipos relacionales poner operadores ejemplos definir declarar datos comparacion como campo booleano aritmeticos sql unit-testing tsql expression assert

tipos - operadores sql y ejemplos



Expresiones booleanas en la lista de selección de SQL (4)

Quiero crear un SQL Select para hacer una prueba unitaria en MS SQL Server 2005. La idea básica es esta:

seleccione ''Test Name'', foo = ''Result'' desde la barra donde baz = (algunos criterios)

La idea es que, si el valor de la columna "foo" es "Resultado", obtendría un valor de verdadero / 1; si no es así, obtendría falso / 0.

Desafortunadamente, a T-SQL no le gusta la expresión; se ahoga en el signo igual.

¿Hay alguna forma de evaluar una expresión en la lista de selección SQL y obtener un resultado retornable? (¿O alguna otra forma de lograr la prueba unitaria que deseo?)

EDIT: 3 excelentes respuestas, todas basadas en CASE. Aceptaré la fe de feihtief, ya que tiene la menor representación y, por lo tanto, la necesita más. :-) Gracias a todos.


Use CASE:

SELECT ''Test Name'' [col1], CASE foo WHEN ''Result'' THEN 1 ELSE 0 END AS [col2] FROM bar WHERE baz = (some criteria)


SELECT ''TestName'', CASE WHEN Foo = ''Result'' THEN 1 ELSE 0 END AS TestResult FROM bar WHERE baz = @Criteria



También puedes usar:

select ''Test Name'', iif(foo = ''Result'', 1, 0) from bar where baz = (some criteria)

Sé que esto fue pedido hace un tiempo, pero espero que esto ayude a alguien por ahí.