Saltar al contenido

Servidor SQL: ¿literal booleano?

Ya no busques más por todo internet porque estás al sitio indicado, contamos con la respuesta que buscas sin problema.

Solución:

SQL Server no tiene un tipo de datos booleano. Como ha indicado @Mikael, la aproximación más cercana es el bit. Pero ese es un tipo numérico, no un tipo booleano. Además, solo admite 2 valores: 0 o 1 (y uno sin valor, NULL).

SQL (SQL estándar, así como el dialecto T-SQL) describe una lógica de tres valores. El tipo booleano para SQL debe admitir 3 valores: TRUE, FALSE y UNKNOWN (y también, el no-valor NULL). Entonces bit en realidad no es un buen partido aquí.

Dado que SQL Server no tiene soporte para el tipo de datosno deberíamos esperar poder escribir literales de ese “tipo”.

select * from SomeTable where 1=1

La mayoría de las bases de datos aceptarán esto:

select * from SomeTable where true

Sin embargo, algunas bases de datos (por ejemplo, SQL Server, Oracle) no tienen un tipo booleano. En estos casos puede utilizar:

select * from SomeTable where 1=1

Por cierto, si crea una cláusula where de sql a mano, esta es la base para simplificar su código porque puede evitar tener que saber si la condición que está a punto de agregar a una cláusula where es la primero uno (que debe ir precedido de "WHERE"), o un subsecuente uno (que debe ir precedido de "AND"). Al comenzar siempre con "WHERE 1=1"todas las condiciones (si las hay) añadidas a la cláusula where están precedidas por "AND".

Si sostienes algún reparo y forma de acrecentar nuestro sección puedes realizar un exégesis y con gusto lo analizaremos.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *