Referencia de Functions (Data Flow)
Las siguientes funciones se utilizan con operadores en un flujo de datos para permitir la creación de expresiones.
Función | Descripción | Ejemplo |
---|---|---|
COUNT(value[, value]*) | Devuelve el número de filas para las que una o más expresiones proporcionadas son no nulas. | COUNT(expr1) |
COUNT(*) | Devuelve el número total de filas recuperadas, incluidas las filas que contienen un valor nulo. | COUNT(*) |
MAX(value) | Devuelve el valor máximo del argumento. | MAX(expr) |
MIN(value) | Devuelve el valor mínimo del argumento. | MIN(expr) |
SUM(numeric) | Devuelve la suma calculada a partir de los valores de un grupo. | SUM(expr1) |
AVG(numeric) | Devuelve la media de valores numéricos en una expresión. | AVG(AGGREGATE_1.src1.attribute1) |
LISTAGG(column[, delimiter]) WITHIN GROUP (order_by_clause) | Concatena valores de la columna de entrada con el delimitador especificado, para cada grupo en función de la cláusula order. La columna contiene los valores que desea concatenar en el resultado. El delimitador separa los valores de columna del resultado. Si no se proporciona un delimitador, se utiliza un carácter vacío. order_by_clause determina el orden en que se devuelven los valores concatenados. Esta función solo se puede utilizar como agregador y se puede utilizar con agrupación o sin agrupación. Si se utiliza sin agrupación, el resultado es una sola fila. Si se utiliza con una agrupación, la función devuelve una fila para cada grupo. | Piense en una tabla con dos columnas,
Ejemplo 1: Sin agrupación
Ejemplo 2: Agrupar por
|
Función | Descripción | Ejemplo |
---|---|---|
FIRST_VALUE(value) OVER ([ partition_clause ] order_by_clause [ windowFrame_clause ] ) |
Devuelve el valor evaluado en la fila que es la primera fila del marco de ventana. | FIRST_VALUE(BANK_ID) OVER (PARTITION BY BANK_ID ORDER BY BANK_NAME ROWS BETWEEN CURRENT ROW AND 1 FOLLOWING) devuelve el primer valor de BANK_ID en una ventana en la que las filas se calculan como la fila actual y 1 fila después de esa fila, particionada por BANK_ID y en orden ascendente por BANK_NAME . |
LAG(value[, offset[, default]]) OVER ([ partition_clause ] order_by_clause) |
Devuelve el valor evaluado en la fila en un desplazamiento determinado antes de la fila actual dentro de la partición. Si no existe dicha fila, se devuelve el valor por defecto. Tanto el desplazamiento como el valor por defecto se evalúan con respecto a la fila actual. Si se omite, el desplazamiento se define por defecto en 1 y por defecto en NULL. | LAG(BANK_ID, 2, 'hello') OVER (PARTITION BY BANK_ID ORDER BY BANK_NAME DESC) devuelve el valor de BANK_ID de la segunda fila antes de la fila actual, particionado por BANK_ID y en orden descendente por BANK_NAME . Si no existe dicho valor, se devuelve hello . |
LAST_VALUE(value) OVER ([ partition_clause ] order_by_clause [ windowFrame_clause ]) |
Devuelve el valor evaluado en la fila que es la última fila del marco de ventana. | LAST_VALUE(BANK_ID) OVER (PARTITION BY BANK_ID ORDER BY BANK_NAME ROWS BETWEEN CURRENT ROW AND 1 FOLLOWING) devuelve el último valor de BANK_ID en una ventana en la que las filas se calculan como la fila actual y 1 fila después de esa fila, particionado por BANK_ID y en orden ascendente por BANK_NAME . |
LEAD(value[, offset[, default]]) OVER ([ partition_clause ] order_by_clause) |
Devuelve el valor evaluado en la fila en un desplazamiento determinado después de la fila actual dentro de la partición. Si no existe dicha fila, se devuelve el valor por defecto. Tanto el desplazamiento como el valor por defecto se evalúan con respecto a la fila actual. Si se omite, el desplazamiento se define por defecto en 1 y por defecto en NULL. | LEAD(BANK_ID, 2, 'hello') OVER (PARTITION BY BANK_ID ORDER BY BANK_NAME) devuelve el valor de BANK_ID de la segunda fila después de la fila actual, particionado por BANK_ID y en orden ascendente por BANK_NAME . Si no existe dicho valor, se devuelve hello . |
RANK() OVER([ partition_clause ] order_by_clause) |
Devuelve el rango de la fila actual con intervalos, contando desde 1. | RANK() OVER (PARTITION BY BANK_ID ORDER BY BANK_NAME) devuelve el rango de cada fila dentro del grupo de partición BANK_ID , en orden ascendente por BANK_NAME . |
ROW_NUMBER() OVER([ partition_clause ] order_by_clause) |
Devuelve el número único de la fila actual dentro de su partición, contando desde 1. | ROW_NUMBER() OVER (PARTITION BY BANK_ID ORDER BY BANK_NAME) devuelve el número de fila único de cada fila dentro del grupo de partición BANK_ID , en orden ascendente por BANK_NAME . |
Función | Descripción | Ejemplo |
---|---|---|
ABS(numeric) | Devuelve la potencia absoluta del valor numeric . | ABS(-1) |
CEIL(numeric) | Devuelve el entero más pequeño que no sea mayor que el valor numeric | CEIL(-1,2) |
FLOOR(numeric) | Devuelve el entero más grande que no sea mayor que el valor numeric | FLOOR(-1,2) |
MOD(numeric1, numeric2) | Devuelve el resto después de dividir numeric1 por numeric2 . | MOD(8,2) |
POWER(numeric1, numeric2) | Eleva numeric1 a la potencia numeric2 . | POWER(2,3) |
ROUND(numeric1, numeric2) | Devuelve numeric1 redondeado a numeric2 posiciones decimales. | ROUND(2.5,0) |
TRUNC(numeric1, numeric2) | Devuelve numeric1 truncado a numeric2 posiciones decimales. | TRUNC(2.5,0) |
TO_NUMBER(expr[, format, locale]) | Convierte una expr a un número, según el valor de format y de locale opcional proporcionados. La configuración regional por defecto es en-US . Etiquetas de idioma soportadas.Patrones de formato soportados:
|
|
Solo el operador Expression soporta funciones de matriz.
Función | Descripción | Ejemplo |
---|---|---|
ARRAY_POSITION(array(...), element) | Devuelve la posición de la primera incidencia del elemento especificado en la matriz determinada. La posición no se basa en cero, sino que comienza con 1. | ARRAY_POSITION(array(3, 2, 1, 4, 1), 1) devuelve 3 |
REVERSE(array(...)) |
Devuelve la matriz dada de elementos en un orden inverso. | REVERSE(array(2, 1, 4, 3)) devuelve [3,4,1,2] |
ELEMENT_AT(array(...), index) |
Devuelve el elemento de la matriz indicada en la posición de índice especificada. El índice no se basa en cero, sino que comienza con 1. Si |
ELEMENT_AT(array(1, 2, 3), 2) devuelve 2 |
Función | Descripción | Ejemplo |
---|---|---|
COALESCE(value, value [, value]*) | Devuelve el primer argumento no nulo, si existe; de lo contrario, devuelve null. | COALESCE(NULL, 1, NULL) devuelve 1 |
NULLIF(value, value) | Devuelve null si los dos valores son iguales entre sí; de lo contrario, devuelve el primer valor. | NULLIF('ABC','XYZ') devuelve ABC |
Función | Descripción | Ejemplo |
---|---|---|
CURRENT_DATE |
Devuelve la fecha actual. | CURRENT_DATE devuelve la fecha de hoy, como 2023-05-26 |
CURRENT_TIMESTAMP |
Devuelve la hora y la fecha actuales de la zona horaria de la sesión. | CURRENT_TIMESTAMP devuelve la fecha actual y la hora actual, como 2023-05-26 12:34:56
|
DATE_ADD(date, number_of_days) |
Devuelve la fecha que es el valor number especificado de los días posteriores al valor date especificado. |
DATE_ADD('2017-07-30', 1) devuelve 2017-07-31 |
DATE_FORMAT(expr, format[, locale]) |
Aplica un formato Patrones de formato de fecha soportados:
|
|
DAYOFMONTH(date) |
Devuelve el día del mes de la fecha. | DAYOFMONTH('2020-12-25') devuelve 25 |
DAYOFWEEK(date) |
Devuelve el día de la semana de la fecha. | DAYOFWEEK('2020-12-25') devuelve 6 para Friday. En los Estados Unidos, el domingo se considera 1, el lunes es 2, y así sucesivamente. |
DAYOFYEAR(date) |
Devuelve el día del año de la fecha. | DAYOFYEAR('2020-12-25') devuelve 360 |
WEEKOFYEAR(date) |
Devuelve la semana del año de la fecha. |
|
HOUR(datetime) |
Devuelve el valor de hora de la fecha y hora. | HOUR('2020-12-25 15:10:30') devuelve 15 |
LAST_DAY(date) |
Devuelve el último día del mes de la fecha. | LAST_DAY('2020-12-25') devuelve 31 |
MINUTE(datetime) |
Devuelve el valor de minutos de la fecha y hora. | HOUR('2020-12-25 15:10:30') devuelve 10 |
MONTH(date) |
Devuelve el valor de mes de la fecha. | MONTH('2020-06-25') devuelve 6 |
QUARTER(date) |
Devuelve el trimestre del año en el que se encuentra la fecha. | QUARTER('2020-12-25') devuelve 4 |
SECOND(datetime) |
Devuelve el segundo valor de la fecha y hora. | SECOND('2020-12-25 15:10:30') devuelve 30 |
TO_DATE(string, format_string[, localeStr]) |
Analiza la expresión de cadena con la expresión format_string en una fecha. La configuración regional es opcional. El valor por defecto es en-US . Etiquetas de idioma soportadas.En las expresiones de pipeline,
|
|
TO_TIMESTAMP(expr, format_string[, localeStr]) |
Convierte una expr de VARCHAR a un valor de TIMESTAMP, según el valor de format_string y de localeStr opcional proporcionados.En las expresiones de pipeline,
|
TO_TIMESTAMP('2020-10-11 11:10:10', 'yyyy-MM-dd HH:mm:ss') devuelve un objeto TIMESTAMP que representa 11am 10:10 Oct 11th, 2020 |
WEEK(date) |
Devuelve el valor de semana de la fecha. |
WEEK('2020-06-25') devuelve 4 |
YEAR(date) |
Devuelve el valor de año de la fecha. | YEAR('2020-06-25') devuelve 2020 |
ADD_MONTHS(date_expr, number_months) |
Devuelve la fecha después de agregar el número de meses especificado a la fecha, registro de hora o cadena especificados con un formato como yyyy-MM-dd o yyyy-MM-dd HH:mm:ss.SSS . |
|
MONTHS_BETWEEN(start_date_expr, end_date_expr) |
Devuelve el número de meses entre Se devuelve un número entero si ambas fechas son el mismo día del mes o ambas son el último día de sus meses respectivos. De lo contrario, la diferencia se calcula en función de 31 días al mes. |
|
FROM_UTC_TIMESTAMP(time_stamp, time_zone) |
Interpreta una fecha, un registro de hora o una cadena como hora UTC y la convierte en un registro de hora en la zona horaria especificada. Para la cadena, utilice un formato como: El formato de zona horaria es un ID de zona basado en región (por ejemplo, 'área/ciudad' como 'Asia/Seúl' o un desfase de zona horaria (por ejemplo, UTC+02). |
FROM_UTC_TIMESTAMP('2017-07-14 02:40:00.0', 'GMT+1') devuelve 2017-07-14 03:40:00.0 |
TO_UTC_TIMESTAMP(time_stamp, time_zone) |
Convierte una fecha, un registro de hora o una cadena en la zona horaria especificada en un registro de hora UTC. Para la cadena, utilice un formato como: El formato de zona horaria es un ID de zona basado en región (por ejemplo, 'área/ciudad' como 'Asia/Seúl') o un desfase de zona horaria (por ejemplo, UTC+02). |
TO_UTC_TIMESTAMP('2017-07-14 02:40:00.0', 'GMT+1') devuelve 2017-07-14 01:40:00.0
|
FROM_UNIXTIME(unix_time[, fmt]) |
Convierte la hora o época de Unix especificada en una cadena que representa el registro de hora de ese momento en la zona horaria del sistema actual y en el formato especificado. Nota: La hora de Unix es el número de segundos transcurridos desde el 1 de enero de 1970 00:00:00 UTC. Si se omite |
La zona horaria por defecto es PST en los ejemplos |
UNIX_TIMESTAMP([time_expr[, fmt]]) |
Convierte la hora actual o especificada en un registro de hora de Unix en segundos.
Si no se proporciona Si |
La zona horaria por defecto es PST en este ejemplo |
INTERVAL 'year' YEAR[(year_precision)] |
Devuelve un período de tiempo en años. year_precision es el número de dígitos del campo year; está comprendido entre 0 y 9. Si se suprime year_precision, el valor por defecto es 2 (debe ser inferior a 100 años). |
|
INTERVAL 'year month' YEAR[(year_precision)] TO MONTH |
Devuelve un período de tiempo en años y meses. Se utiliza para almacenar un período de tiempo utilizando los campos year y month. year_precision es el número de dígitos del campo year; está comprendido entre 0 y 9. Si se suprime year_precision, el valor por defecto es 2 (debe ser inferior a 100 años). |
INTERVAL '100-5' YEAR(3) TO MONTH devuelve un intervalo de 100 años, 5 meses. Debe especificar una precisión de año inicial 3. |
INTERVAL 'month' MONTH[(month_precision)] |
Devuelve un período de tiempo en meses. month_precision es el número de dígitos del campo mes; está comprendido entre 0 y 9. Si se suprime month_precision, el valor por defecto es 2 (debe ser inferior a 100 años). |
INTERVAL '200' MONTH(3) devuelve un intervalo de 200 meses. Debe especificar una precisión de mes 3. |
INTERVAL 'day time' DAY[(day_precision)] TO SECOND[(fractional_seconds_precision)] |
Devuelve un período de tiempo en días, horas, minutos y segundos. day_precision es el número de dígitos del campo day; está comprendido entre 0 y 9. El valor por defecto es 2. fractional_seconds_precision es el número de dígitos de la parte fraccional del valor second del campo time; está comprendido entre 0 y 9. |
INTERVAL '11 10:09:08.555' DAY TO SECOND(3) devuelve un intervalo de 11 días, 10 horas, 09 minutos, 08 segundos y 555 milésimas de segundo |
INTERVAL 'day time' DAY[(day_precision)] TO MINUTE[(minute_precision)] |
Devuelve un período de tiempo en días, horas y minutos. day_precision es el número de dígitos del campo day; está comprendido entre 0 y 9. El valor por defecto es 2. minute_precision es el número de dígitos del campo minuto; está comprendido entre 0 y 2. El valor por defecto es 2. |
INTERVAL '11 10:09' DAY TO MINUTE devuelve un intervalo de 11 días, 10 horas y 09 minutos |
INTERVAL 'day time' DAY[(day_precision)] TO HOUR[(hour_precision)] |
Devuelve un período de tiempo en días y horas. day_precision es el número de dígitos del campo day; está comprendido entre 0 y 9. El valor por defecto es 2. hour_precision es el número de dígitos del campo hora; está comprendido entre 0 y 2. El valor por defecto es 2. |
INTERVAL '100 10' DAY(3) TO HOUR devuelve un intervalo de 100 días y 10 horas |
INTERVAL 'day' DAY[(day_precision)] |
Devuelve un período de tiempo en días. day_precision es el número de dígitos del campo day; está comprendido entre 0 y 9. El valor por defecto es 2. |
INTERVAL '999' DAY(3) devuelve un intervalo de 999 días |
INTERVAL 'time' HOUR[(hour_precision)] TO SECOND[(fractional_seconds_precision)] |
Devuelve un período de tiempo en días, horas, minutos y segundos. hour_precision es el número de dígitos del campo hora; está comprendido entre 0 y 2. El valor por defecto es 2. fractional_seconds_precision es el número de dígitos de la parte fraccional del valor second del campo time; está comprendido entre 0 y 9. |
INTERVAL '09:08:07.6666666' HOUR TO SECOND(7) devuelve un intervalo de 9 horas, 08 minutos y 76 666 666 segundos |
INTERVAL 'time' HOUR[(hour_precision)] TO MINUTE[(minute_precision)] |
Devuelve un período de tiempo en horas y minutos. hour_precision es el número de dígitos del campo hora; está comprendido entre 0 y 2. El valor por defecto es 2. minute_precision es el número de dígitos del campo minuto; está comprendido entre 0 y 2. El valor por defecto es 2. |
INTERVAL '09:30' HOUR TO MINUTE devuelve un intervalo de 9 horas y 30 minutos |
INTERVAL 'hour' HOUR[(hour_precision)] |
Devuelve un período de tiempo en horas. hour_precision es el número de dígitos del campo hora; está comprendido entre 0 y 2. El valor por defecto es 2. |
INTERVAL '40' HOUR devuelve un intervalo de 40 horas |
INTERVAL 'minute' MINUTE[(minute_precision)] |
Devuelve un período de tiempo en minutos. minute_precision es el número de dígitos del campo minuto; está comprendido entre 0 y 2. El valor por defecto es 2. |
INTERVAL '15' MINUTE devuelve un intervalo de 15 minutos |
INTERVAL 'time' MINUTE[(minute_precision)] TO SECOND[(fractional_seconds_precision)] |
Devuelve un período de tiempo en minutos y segundos. minute_precision es el número de dígitos del campo minuto; está comprendido entre 0 y 2. El valor por defecto es 2. fractional_seconds_precision es el número de dígitos de la parte fraccional del valor second del campo time; está comprendido entre 0 y 9. |
INTERVAL '15:30' MINUTE TO SECOND devuelve un intervalo de 15 minutos y 30 segundos |
INTERVAL 'second' SECOND[(fractional_seconds_precision)] |
Devuelve un período de tiempo en segundos. fractional_seconds_precision es el número de dígitos en la parte fraccional del campo second; oscila entre 0 y 9. El valor por defecto es 3. |
INTERVAL '15.678' SECOND devuelve un intervalo de 15 678 segundos |
Función | Descripción | Ejemplo |
---|---|---|
MD5(all data types) | Calcula un total de control MD5 del tipo de dato y devuelve un valor de cadena. | MD5(column_name) |
SHA1(all data types) | Calcula un valor hash SHA-1 del tipo de dato y devuelve un valor de cadena. | SHA1(column_name) |
SHA2(all data types, bitLength) | Calcula un valor hash SHA-2 del tipo de dato y devuelve un valor de cadena. bitLength es un entero. | SHA2 (column_name, bitLength can be set to 0 (equivalent to 256), 256, 384, or 512) . |
ORA_HASH(expr, [max_bucket], [seed_value]) |
Calcula un valor hash para
Oracle aplica la función hash a la combinación de |
|
Función | Descripción | Ejemplo |
---|---|---|
SCHEMA_OF_JSON(string) | Analiza una cadena JSON e infiere el esquema en formato DDL. |
|
FROM_JSON(column, string) | Analiza una columna que contiene una cadena JSON en uno de los siguientes tipos, con el esquema especificado.
|
|
TO_JSON(column) | Convierte una columna que contiene un tipo Struct o Array of Structs, o Map o Array of Map en una cadena JSON. | TO_JSON(TO_STRUCT('s1', TO_ARRAY(1,2,3), 's2', TO_MAP('key', 'value'))) devuelve una cadena JSON {"s1":[1,2,3],"s2":{"key":"value"}} |
TO_MAP(string,column[,string,column]*) | Crea una nueva columna de tipo Asignación. Las columnas de entrada se deben agrupar como pares clave-valor. Las columnas de clave de entrada no pueden ser nulas y todas deben tener el mismo tipo de datos. Todas las columnas de valor de entrada deben tener el mismo tipo de datos. |
|
TO_STRUCT(string,column[,string,column]*) | Crea una nueva columna de tipo Struct. Las columnas de entrada se deben agrupar como pares clave-valor. |
|
TO_ARRAY(column[,column]*) | Crea una nueva columna como tipo Array. Todas las columnas de entrada deben tener el mismo tipo de datos. |
|
Los operadores de flujo de datos que soportan la creación de expresiones y tipos de dato jerárquicos pueden utilizar funciones de orden superior.
Los operadores soportados son:
-
Agregar
-
Expresión
-
Filtro
-
Entrar
-
Consulta
-
Dividir
-
Girar
Función | Descripción | Ejemplo |
---|---|---|
TRANSFORM(column, lambda_function) | Toma una matriz y una función anónima, y configura una nueva matriz aplicando la función a cada elemento y asignando el resultado a la matriz de salida. | Para una matriz de entrada de enteros [1, 2, 3] , TRANSFORM(array, x -> x + 1) devuelve una nueva matriz de [2, 3, 4] . |
TRANSFORM_KEYS(column, lambda_function) | Toma una asignación y una función con 2 argumentos (clave y valor), y devuelve una asignación en la que las claves tienen el tipo del resultado de la función lambda, y los valores tienen el tipo de los valores de asignación de columna. | Para una asignación de entrada con claves enteras y valores de cadena de {1 -> 'value1', 2 -> 'value2', 3 -> 'value3'} , TRANSFORM_KEYS(map, (k, v) -> k * 2 + 1) devuelve una nueva asignación de {3 -> 'value1', 5 -> 'value2', 7 -> 'value3'} . |
TRANSFORM_VALUES(column, lambda_function) | Toma un mapa y una función con 2 argumentos (clave y valor), y devuelve un mapa en el que los valores tienen el tipo del resultado de las funciones lambda, y las claves tienen el tipo de las claves del mapa de columnas. | Para una asignación de entrada con claves de cadena y valores de cadena de {'a' -> 'value1', 'b' -> 'value2', 'c' -> 'value3'} , TRANSFORM_VALUES(map, (k, v) -> k || __ '' || v) devuelve una nueva asignación de {'a' -> 'a_value1', 'b' -> 'b_value2', 'c' -> 'c_value3'} . |
ARRAY_SORT(array(...), lambda_function) |
Solo el operador de expresión soporta Toma una matriz y la ordena según la función dada que toma 2 argumentos. La función debe devolver -1, 0 o 1 en función de si el primer elemento es menor que, igual a o mayor que el segundo elemento. Si se omite la función, la matriz se ordena en orden ascendente. |
La matriz devuelta es: [1,5,6] |
Función | Descripción | Ejemplo |
---|---|---|
CASE WHEN condition1 THEN result1 ELSE result2 END | Devuelve el valor para el que se cumple una condición. | CASE WHEN 1 > 0 THEN 'ABC' ELSE 'XYZ' END devuelve ABC si 1> 0 , de lo contrario, devuelve XYZ |
AND | Operador lógico AND. Devuelve true si ambos operandos son verdaderos; de lo contrario, devuelve false. | (x = 10 AND y = 20) devuelve "true" si x es igual a 10 e y es igual a 20. Si uno de las dos no es verdadero, devuelve "false" |
OR | Operador lógico OR. Devuelve true si cualquiera de los operandos es true o ambos son true; de lo contrario, devuelve false. | (x = 10 OR y = 20) devuelve "false" si x no es igual a 10 y, también, si y no es igual a 20. Si cualquiera de ellos es verdadero, devuelve "true" |
NOT | Operador lógico NOT. | |
LIKE | Realiza una coincidencia de patrones de cadena, si string1 coincide con el patrón de string2. | |
= | Comprueba la igualdad. Devuelve true si expr1 es igual a expr2; de lo contrario, devuelve false. | x = 10 devuelve "true" cuando el valor de x es 10; de lo contrario, devuelve "false" |
!= | Comprueba la desigualdad. Devuelve true si expr1 no es igual a expr2; de lo contrario, devuelve false. | x != 10 devuelve "false" si el valor de x es 10; de lo contrario, devuelve "true" |
> | Comprueba si una expresión es mayor que. Devuelve true si expr1 es mayor que expr2. | x > 10 devuelve "true" si el valor de x es mayor que 10; de lo contrario, devuelve "false" |
>= | Comprueba si una expresión es mayor o igual que. Devuelve true si expr1 es mayor o igual que expr2. | x > =10 devuelve "true" si el valor de x es mayor o igual que 10; de lo contrario, devuelve "false" |
< | Comprueba si una expresión es menor que. Devuelve true si expr1 es menor que expr2. | x < 10 devuelve "true" si el valor de x es menor que 10; de lo contrario, devuelve "false" |
<= | Comprueba si una expresión es menor o igual que. Devuelve true si expr1 es menor o igual que expr2. | x <= 10 devuelve "true" si el valor de x es menor que 10; de lo contrario, devuelve "false" |
|| | Concatena dos cadenas. | 'XYZ' || 'hello' devuelve 'XYZhello' |
BETWEEN | Evalúa un rango. | FILTER_1.BANK.BANK_ID BETWEEN 1003 AND 1007 |
IN | Prueba si una expresión coincide con una lista de valores. | FILTER_2.ORDERS.ORDER_ID IN (1003, 1007) |
Funciones | Descripción | Ejemplo |
---|---|---|
CAST(value AS type) | Devuelve el valor especificado en el tipo especificado. | CAST("10" AS INT) devuelve 10 |
CONCAT(string, string) | Devuelve los valores combinados de cadenas o columnas. | CONCAT('Oracle','SQL') devuelve OracleSQL |
CONCAT_WS(separator, expression1, expression2, expression3,...) |
Devuelve los valores combinados de cadenas o columnas utilizando el separador especificado entre las cadenas o columnas. Se necesita un separador y debe ser una cadena. Se debe proporcionar al menos una expresión después del separador. Por ejemplo: |
CONCAT_WS('-', 'Hello', 'Oracle') devuelve Hello-Oracle
Si un secundario de la función es una matriz, la matriz se simplifica:
|
INITCAP(string) | Devuelve la cadena con la primera letra de cada palabra en mayúsculas, mientras que el resto de letras están en minúsculas, y cada palabra está delimitada por un espacio en blanco. | INITCAP('oRACLE sql') devuelve Oracle Sql |
INSTR(string, substring[start_position]) | Devuelve el índice (basado en 1) de la primera ocurrencia de substring en string . | INSTR('OracleSQL', 'SQL') devuelve 7 |
LOWER(string) | Devuelve la cadena con todas las letras cambiadas a minúsculas. | LOWER('ORACLE') devuelve oracle |
LENGTH(string) | Devuelve la longitud de caracteres de la cadena o el número de bytes de datos binarios. La longitud de la cadena incluye los espacios finales. | LENGTH('Oracle') devuelve 6 |
LTRIM(string) | Devuelve la cadena con los espacios iniciales eliminados de la izquierda. | LTRIM(' Oracle') |
NVL(expr1, epxr2) | Devuelve el argumento que no es nulo. | NVL(EXPRESSION_3.CUSTOMERS_JSON.CONTINENT_ID, ROWID()) |
REGEXP_SUBSTR(string, regexp[, RegexGroupIdx]) | Busca y extrae la cadena que coincide con un patrón de expresión regular de la cadena de entrada. Si se ha proporcionado el índice de grupo de captura opcional, la función extrae el grupo específico. |
REGEXP_SUBSTR('22;33;44', '([0-9.]*);([0-9.]*);([0-9.]*)', 1) devuelve 22 |
REPLACE(string, search, replacement) | Sustituye todas las ocurrencias de search por replacement .Si no se encuentra Si no se especifica | REPLACE('ABCabc', 'abc', 'DEF') devuelve ABCDEF |
RTRIM(string) | Devuelve la cadena con los espacios iniciales eliminados de la derecha. | RTRIM('Oracle ') |
SUBSTRING(string, position[, substring_length]) | Devuelve la subcadena que empieza en la posición. | SUBSTRING('Oracle SQL' FROM 2 FOR 3) devuelve rac |
Para números, TO_CHAR(expr) y para fechas TO_CHAR(expr, format[, locale]) | Convierte números y fechas en cadenas. Para los números, no es necesario ningún formato. Para las fechas, utilice el mismo formato que DATE_FORMAT descrito en Funciones de fecha y hora. La configuración regional por defecto es en-US . Consulte las etiquetas de idioma soportadas.En las expresiones de pipeline,
| Ejemplo de número: Ejemplo de fecha: |
UPPER(string) | Devuelve una cadena con todas las letras cambiadas a mayúsculas. | UPPER('oracle') devuelve ORACLE |
LPAD(str, len[, pad]) | Devuelve una cadena que está rellena a la izquierda con caracteres especificados a una longitud determinada. Si se deja el carácter pad, el valor por defecto es un espacio. | LPAD('ABC', 5, '*') devuelve '**ABC' |
RPAD(str, len[, pad]) | Devuelve una cadena que está rellenada a la derecha con caracteres especificados a una longitud determinada. Si se deja el carácter pad, el valor por defecto es un espacio. | RPAD('XYZ', 6, '+' ) returns 'XYZ+++' |
Función | Descripción | Ejemplo |
---|---|---|
NUMERIC_ID() | Genera un identificador único universal que es un número de 64 bits para cada fila. | NUMERIC_ID() devuelve, por ejemplo, 3458761969522180096 y 3458762008176885761 |
ROWID() | Genera números de 64 bits monótonamente. | ROWID() devuelve, por ejemplo, 0 , 1 , 2 , etc. |
UUID() | Genera un identificador único universal que es una cadena de 128 bits para cada fila. | UUID() devuelve, por ejemplo, 20d45c2f-0d56-4356-8910-162f4f40fb6d |
MONOTONICALLY_INCREASING_ID() |
Genera números enteros únicos que aumentan monótonamente 64 bits que no son números consecutivos. | MONOTONICALLY_INCREASING_ID() returns for example, 8589934592 and 25769803776 |