Red de conocimiento informático - Problemas con los teléfonos móviles - Introducción a la función decode() en SQL

Introducción a la función decode() en SQL

La función DECODE es un método de cálculo de función único proporcionado por el software SQL de ORACLE ORACLE

PL/SQL, con su método de cálculo simple, modelo de datos controlable y conocido por su conversión de formato flexible.

Cuando estaba mirando el SQL de otras personas hoy, vi que hay una función decode() en él. Nunca antes la había encontrado. La revisé en línea y descubrí que es muy útil. función. Espero que sea útil para mis amigos si lo escribo, ¡ja!

Introducción a la función decode():

Función principal: traducir los resultados de la consulta a otros valores (es decir, expresarlos en otras formas, como se muestra a continuación con ejemplos);

Uso:

Seleccionar

decodificar (nombre de columna, valor 1, valor de traducción 1, valor 2, valor de traducción 2, ... valor n, valor de traducción n, valor predeterminado)

Desde

talbename

Donde

<…

Donde el nombre de columna se define en el tabla a seleccionar columna,

·Explicación del significado:

decodificar(condición, valor 1, valor de traducción 1, valor 2, valor de traducción 2,... valor n, traducción valor n, valor predeterminado) se entiende de la siguiente manera:

if

(condición == valor 1)

entonces  

return ( valor de traducción 1)

elsif

(condición == valor 2)

entonces  

return(valor de traducción 2) 

.....

elsif

(condición == valor n)

entonces  

return(traducción valor n)

p>

else  

return (valor predeterminado)

end

if

Nota: El valor predeterminado puede ser La columna

nombre

que desea elegir también pueden ser otros valores que desee definir, como Otros, etc.;

Ejemplo:

Ahora defina una tabla llamada salida, en la que se definen dos columnas como id de mes (tipo var) y venta (tipo de número). Si el valor de venta = 1000, se traducirá a D. , cuando = 2000 se traducirá a C, y cuando = 3000 se traducirá a D. Se traduce como B, cuando =4000 se traduce como A, si son otros valores se traduce como Otro ;

SQL es el siguiente:

Seleccione

monthid

,

decodificar

(venta, 1000, 'D', 2000, 'C', 3000, 'B', 4000, 'A', 'Otro')

venta

desde

salida

Caso especial:

Si se compara con un solo valor

Seleccione

monthid

, decodificar (venta,

NULL, '---', venta)

venta

desde

salida

Otra: se pueden usar otras funciones en la decodificación, como la función nvl o la función sign()

NVL (EXPR1, EXPR2)

Si EXPR1 es NULL; , devuelve EXPR2; de lo contrario, devuelve EXPR1.

SELECT

NOMBRE, NVL(TO_CHAR(COMM),' NOT

APLICACIÓN')

DE

TABLA1;

Si se usa en la función de decodificación, es

seleccione

monthid, decode(nvl(sale, 6000), 6000, 'NG'

, 'OK')

de

salida

La función sign() devuelve 0, 1 o 0, respectivamente, dependiendo de si un valor es 0 , un número positivo o un número negativo.

Si toma un valor menor, es

select

monthid, decode(sign(). sale-6000), -1, sale, 6000)

de

salida, es decir, para lograr el propósito de tomar un valor menor.

Resumen:

Función: compara el valor de entrada con la lista de parámetros en la función y devuelve un valor correspondiente según el valor de entrada. La lista de parámetros de una función es una secuencia de formas pares que consta de varios valores y sus correspondientes valores de resultado. Por supuesto, si no logra hacer coincidir con éxito alguna de las secuencias de parámetros reales, la función también tiene un valor de retorno predeterminado.

A diferencia de otras funciones SQL, la función DECODE también puede identificar y operar con valores nulos.

Sintaxis: DECODE(valor_control, valor1, resultado1[, valor2, resultado2...][, resultado_predeterminado]

El valor que controla

_valor está tratando de procesar. La función DECODIFICAR compara este valor con la siguiente serie de números pares para determinar el valor de retorno.

valor1 es una secuencia de valores. Si el valor de entrada coincide correctamente, se devolverá el resultado correspondiente. Correspondiente a un valor de retorno vacío, puede usar la palabra clave NULL para corresponderle

resultado1

es una secuencia de valores de resultado.

default_result

El valor predeterminado devuelto por la función cuando no coincide con ningún valor.