Tengo una tabla que tiene una columna de valores que puede ser rowTypeID = (1,2,3 o nulo). Me gustaría escribir una consulta que devuelva cualquier fila que no tenga un valor de 3 en ella. En este ejemplo, quiero todas las filas NULL junto con las 1,2 filas. Simplemente no quiero filas con el valor de 3SQL Server return Filas que no son iguales <> a un valor y NULL
Establecer ANSI nulo ON está actualmente configurado para la base de datos.
Soy curioso en cuanto a por qué no puedo escribir
select * from myTable where myCol <> 3
Esta consulta no devolverá ningún filas que tienen NULL en la columna de la mycol
tengo que escribir
select * from my Table where myCol <> 3 or myCol Is NULL
¿Siempre tengo que incluir IS NULL o puedo configurarlo para que myCol <> 3 regrese las filas que tienen Null como valor para mi Col
Así funciona NULL, cualquier comparación con él es falsa, excepto IS NULL y NO ES NULO – kurosch
@kurosch: Stricly siguiendo su línea, NULL = NULL también devolvería false, ya que es una comparación? – Marcel
@Marcel: sí, NULL = NULL siempre es falso, y para el caso por lo que es NULL <> NULL :-) – kurosch