La Red de Conocimientos Pedagógicos - Currículum vitae - Introducción a la función decode() en SQL

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

La función de decodificación es el software SQL de ORACLE ORACLE.

El método de cálculo de funciones único proporcionado por PL/SQL es famoso por su método de operación conciso, modelo de datos controlable y conversión de formato flexible.

Hoy estaba mirando el SQL de otra persona y vi una función decode() en él. Nunca antes había estado expuesto a eso. Lo revisé en línea y me pareció bastante útil. ¡Espero que escribirlo sea útil para mis amigos!

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

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

Cómo utilizar:

Seleccione

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

Desde

talbename

Donde

<…

donde el nombre de columna está en la tabla que se va a columnas definidas seleccionadas,

Explicación del significado:

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

Si

(condición = =valor 1)

Entonces

regresar (valor de traducción 1)

Elcipher

(condición = = valor 2)

Luego

regresar (valor de traducción 2)

. ..

Elsiefer

(condición = =valor n)

Entonces

regresar (valor de traducción n)

Otro

Devolver (valor predeterminado)

Fin

Si

Nota: El valor predeterminado es OK, es la columna que desea seleccionar.

El nombre

en sí también puede ser otros valores que desee definir, como Otro

Por ejemplo:

Ahora, se define una tabla como salida, las dos columnas se definen como id de mes (tipo var) y venta (tipo de número). Si valor de venta =1000, se traducirá a D, C =2000, B =3000, A =4000, y los demás valores se traducirán a otros.

El SQL tiene este aspecto:

Seleccione

Montshed

,

Traducción

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

Ventas

Desde

Salida

Caso especial:

Si solo se compara un valor.

Seleccione

Montshed

, decodificar (ventas,

null, '-', ventas)

Ventas

Salida de

Además, también se pueden utilizar otras funciones en la decodificación, como la función nvl o la función sign();

NVL(expresión1, expresión2)

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

Seleccione

nombre, NVL(TO_CHAR(COMM), 'no es una

aplicación')

De

Tabla 1;

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

pick

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

Salida de

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

pick

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

Salida de

, 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 el valor correspondiente según el valor de entrada. La lista de parámetros de una función tiene la forma de un par ordenado, que consta de varios valores y sus correspondientes valores de resultado. Por supuesto, si la función no puede hacer coincidir con éxito ningún par de números de parámetros, también tiene un valor de retorno predeterminado.

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

Sintaxis: decodificar (valor_control, valor 1, resultado 1 [, valor 2, resultado 2...] [, resultado_predeterminado]

Control

_value El valor numérico que está intentando procesar. La función DECODIFICAR compara este valor con una serie de órdenes pares posteriores para determinar el valor de retorno.

Valor1 es un valor numérico que forma un par ordenado. Si el valor de entrada coincide correctamente, se devolverá el resultado correspondiente. Para un valor de retorno nulo, puede utilizar la palabra clave NULL para corresponderle.

Resultado 1

es el resultado de un conjunto de pares ordenados.

Resultado predeterminado

El valor predeterminado devuelto cuando la función no puede coincidir con ningún valor.