Colmena_ varias funciones para manejar NULL NVL, COALESCE, NULLIF

Documentación oficial:

https://cwiki.apache.org/confluence/display/Hive/LanguageManual+UDF

Documentos de referencia:

https://blog.csdn.net/qq_34105362/article/details/80402806

 

       Hive proporciona muchas funciones, puede enumerar todas las funciones en la línea de comandos mostrar funciones, encontrará que estos nombres de funciones son muy similares a mysql, la mayoría de ellos son iguales, puede verificar el uso de la función describiendo function functionName.

 

 

Las funciones de procesamiento de valores nulos comúnmente utilizadas en Hive son NVL (0.11 +), COALESCE, NULLIF (2.3.0 +).

La función principal de la función de procesamiento de valor nulo: 

NVL (0.11), COALESCE complementa datos nulos

nullif (a, b) es principalmente para determinar si a y b son iguales, devolver nulo si son iguales, de lo contrario devolver un

 

Echemos un vistazo a la introducción de estas funciones.

 

1.COALESCE

T

COALESCE (T v1, T v2, ...)

Devuelve la primera v que no es NULL o NULL si todas las v son NULL.

hive> describe function coalesce;
OK
coalesce(a1, a2, ...) - Returns the first non-null argument
Time taken: 0.028 seconds, Fetched: 1 row(s)

La función de la función Coalese es que la función NVL es un poco similar, y su ventaja es que hay más opciones.
El formato es el siguiente:
Fusionar (expr1, expr2, expr3 ... exprn)
significa que puede especificar marcadores de posición para múltiples expresiones. Todas las expresiones deben ser del mismo tipo o pueden convertirse implícitamente al mismo tipo.

 

En el trabajo real, generalmente uso este método para dar un valor predeterminado a los datos NULL.

 

 

2. NVL

T nvl (valor T, T valor_predeterminado) Devuelve el valor predeterminado si el valor es nulo; de lo contrario, devuelve el valor (a partir de Hive  0.11 )
hive> describe function nvl;
OK
nvl(value,default_value) - Returns default value if value is null else returns value
Time taken: 0.019 seconds, Fetched: 1 row(s)

NVL (expr1, expr2):
1. Función de conversión de valor nulo,
2. Similar a mysql-nullif (expr1, expr2), sqlserver-ifnull (expr1, expr2).

Observaciones:
1. Si expr1 es NULL, el valor de retorno es expr2; de lo contrario, devuelve expr1.
2. Aplicable a los tipos numéricos, de caracteres y de fecha, pero los tipos de datos de expr1 y expr2 deben ser del mismo tipo.
 

3.NULLIF 

T nullif (a, b)

Devuelve NULL si a = b; de lo contrario, devuelve un (a partir de Hive  2.3.0 ).

Taquigrafía para: CASO CUANDO a = b luego NULL más a

 Como estoy usando una versión anterior de Hive que no admite esta función temporalmente, no haré una demostración de la consola de Hive.

La función de NULLIF (exp1, expr2) es devolver NULL si exp1 y exp2 son iguales, de lo contrario, devuelve el primer valor.

 

519 artículos originales publicados · elogiados 1146 · 2,83 millones de visitas

Supongo que te gusta

Origin blog.csdn.net/u010003835/article/details/102468899
Recomendado
Clasificación