Ir al contenido principal

Entradas

Mostrando entradas de julio 23, 2013

La expresión CASE. ok

Virtualmente todos los lenguajes de programación de tercera y cuarta generación implementan la expresión CASE. Como la función DECODE, la expresión CASE facilita la lógica condicional if-then-else. Hay dos variantes de la expresión CASE.  La expresión CASE sencilla lista el elemento de búsqueda condicional una vez, y la igualdad en el elemento de búsqueda se prueba por cada expresión de comparación. La expresión CASE buscada enumera una condición independiente para cada expresión de comparación. La expresión CASE toma al menos tres parámetros obligatorios pero puede tomar muchos más. Su sintaxis depende si  es simple o case search. CASE Simple CASE search_expr WHEN comparison1 THEN iftrue1 WHEN comparison2 THEN iftrue1 ….. WHEN comparisonN THEN iftrueN ELSE iffalse END CASE Search CASE WHEN condition1 THEN iftrue1 WHEN condition2 THEN iftrue2 …. WHEN conditionN THEN iftrueN ELSE iffalse END Ejemplos: -- LA EXPRESION CASE SELECT CAS

La función DECODE ok

La función DECODE implementa lógica condicional if-then-else, primero probando dos primeros términos por igualdad y devuelve el tercero si son iguales y opcionalmente  devuelve otro término. La función DECODE toma al menos  tres parámetros obligatorios pero puede tomar muchos más. La sintaxis de la función es DECODE(expr1, comp1, iftrue,[comp2, iftrue2…[compN,iftrueN]],[iffalse]). Su funcionamiento es: la comparación de expr1 con comp1 si son iguales iftrue1 es devuelto. Si expr1 no es igual a comp1 entonces  continua comparando expr1 con comp2 si son iguales iftrue2 es devuelto y así consecutivamente si existen mas compN si nunca es igual a compN entonces iffalse es devuelto. Todos los parámetros de la función DECODE pueden ser expresiones.  El tipo de dato es el mismo que el primer término de comparación coincidente. La expr1 es implícitamente convertida al tipo de dato del primer parámetro de comparación comp1. Decode considera dos nulos iguales.

Funciones Condicionales ok

Lógica condicional, también conocida como lógica if-then-else para elegir una ruta de ejecución basada sobre valores de datos que cumplen cierta condición. Las funciones condicionales, como DECODE y la expresión CASE, devuelven diferentes valores  basados sobre una condición de comparación.  La función DECODE es especifica de Oracle, mientras que CASE es ANSI SQL. Un ejemplo de lógica if-then-else es: Si el valor país es Brasil o Australia, entonces devuelve hemisferio Sur, sino devuelve Hemisferio Norte.

La función COALESCE ok

La función COALESCE devuelve el primer valor no nulo de una lista de parámetros. Si todos los parámetros son nulos, entonces un nulo es devuelto. La función COALESCE toma dos parámetros obligatorios y cualquier número de parámetros opcionales. Sintaxis: COALESCE(expre1, expre2,….expreN). Donde expre1 es devuelto sino es nulo, sino expre2 si no es nulo y así sucesivamente. COALESCE es una forma general de la función NVL. Los tipos de datos en los parámetros deben ser iguales.  Para no obtener un error: ORA-00932. Todos los parámetros no nulos deben tener tipos de datos compatibles con el primer parámetro no nulo. -- LA FUNCION COALESCE SELECT COALESCE(1,2,3,4,5,6,7,8,9,0) FROM DUAL; SELECT COALESCE(NULL,2,3,4,5,6,7,8,9,0) FROM DUAL; SELECT COALESCE(NULL,NULL,3,4,5,6,7,8,9,0) FROM DUAL; SELECT COALESCE(NULL,NULL,NULL,4,5,6,7,8,9,0) FROM DUAL; SELECT COALESCE(1,'2') FROM DUAL; SELECT COALESCE(NULL,NULL,NULL,'TEXTO') FROM DUAL; SELECT COALESCE(NULL,