miércoles, 22 de mayo de 2013

Funciones Utiles en SQLServer para sentencia SELECT (IFNULL, CASE WHEN..)

La potencia que nos brinda SQLServer en su lenguaje permite ejecutar sentencias disyuntivas (tipo "if") en su sintaxis y establecer valores predeterminados para el valor NULL de la BD. 

así pues podemos escribir:

SELECT CASE WHEN ISNULL (A.Codigo, 0) = 0 THEN 1 ELSE A.Codigo END ALIAS FROM ARTICULOS A

Esta sentencia devuelve una columna cuyo nombre es "ALIAS" de la tabla de articulo. El valor de la columna será comprobado en la parte "WHEN". Con la función "ISNULL" si el campo código fuese NULL la comprobación devolverá cero. Por tanto en caso que "Codigo" sea cero (o nulo ) el registro devuelto tendrá el valor 1, si tuviese otro valor, entonces devolverá. 



-------------

[sql] WHERE campo IN (SELECT...)


Otra construcción sintáctica que puede ser útil en determinados casos es, la inclusión o exclusión de un lista de valores en una condición "Where"

ejemplo:


inclusión

select * from clientes where upper(nombre) in ('JUAN', 'MANUEL', 'PEDRO')


[sql] WHERE campo NOT IN (SELECT...)


exclusión

select * from clientes where upper(nombre) not in ('JUAN', 'MANUEL', 'PEDRO')

No hay comentarios:

Publicar un comentario

Jesús Moreno - Ingeniero Ténico Informático - consultor Informático

Hola, soy Jesús Moreno Ingeniero Técnico Informático en sistemas por la US y propietario de éste blog. Mi trabajo en los ultimos años se ...