Funciones de expresión
Última actualización: 28/10/2026Utilice funciones para transformar valores de fila, gestionar datos que faltan o recuperar valores relacionados al crear expresiones. Para más detalles, vea Crear expresiones.
Las funciones que figuran a continuación describen las expresiones de tareas de movimiento en tareas de aterrizaje gestionadas por SaaS, aterrizaje en lago de datos y replicación. Utilice la firma de la función que se muestra en su editor. Los corchetes en las firmas indican argumentos opcionales; no introduzca los corchetes.
Para las funciones de CDC Storage y Transformación de streaming, consulte Funciones de transformación. Para las expresiones de almacenamiento, transformación y data mart que se ejecutan en una plataforma de datos en la nube, utilice la sintaxis de funciones de dicha plataforma.
Funciones de cadena
Las funciones de prefijo y sufijo actúan en el principio o final de una cadena. El reemplazo de caracteres actúa sobre caracteres individuales en lugar de coincidir con un prefijo o sufijo completo.
| Función | Comportamiento y argumentos | Ejemplo y resultado |
|---|---|---|
$CONCAT(X, Y)
|
Une las dos cadenas X y Y, por ese orden. Devuelve NULL si alguno de los argumentos es NULL. Anide llamadas para unir más de dos cadenas de texto. |
$CONCAT('My', 'Picture') devuelve 'MyPicture'. $CONCAT('My', NULL) devuelve NULL. |
$INSTR(string, substring)
|
Devuelve la posición basada en 1 de la primera instancia que aparezca de substring en string. Devuelve 0 si no se encuentra la subcadena. |
$INSTR('mystring', 'ing') devuelve 6. $INSTR('mystring', 'xyz') devuelve 0. |
$LENGTH(string)
|
Devuelve el número de caracteres de string, no su tamaño en bytes. |
$LENGTH('mystring') devuelve 8. |
$LOWER(string)
|
Devuelve una copia de string con las letras ASCII convertidas a minúsculas. |
$LOWER('ABC') devuelve 'abc'. |
$LTRIM(string[, characters])
|
Elimina caracteres del principio de string. El argumento opcional characters es un conjunto de caracteres que eliminar, no un prefijo. Si se omite, elimina los espacios. |
$LTRIM(' orders') devuelve 'orders'. $LTRIM('@@orders', '@') devuelve 'orders'. |
$REMOVE_PREFIX(string, prefix)
|
Devuelve una copia de string con el inicio especificado prefix eliminado. |
$REMOVE_PREFIX('mystring', 'my') devuelve 'string'. |
$REMOVE_SUFFIX(string, suffix)
|
Devuelve una copia de string con el final especificado suffix eliminado. |
$REMOVE_SUFFIX('mystring', 'ing') devuelve 'mystr'. |
$REPLACE(string, pattern, replacement)
|
Reemplaza cada instancia de pattern en string por replacement. Se necesitan los tres argumentos. Utilice una cadena de reemplazo vacía para eliminar el texto coincidente. |
$REPLACE('a-b-c', '-', '_') devuelve 'a_b_c'. $REPLACE('a-b', '-', '') devuelve 'ab'. |
$REPLACE_CHARS(string, chars, replacement)
|
Reemplaza cada carácter mostrado en chars por el carácter en la misma posición de replacement. Los caracteres no mostrados permanecen sin cambios. Si falta una posición de reemplazo, se utiliza el primer carácter de reemplazo. |
$REPLACE_CHARS('mystring', 's', 'z') devuelve 'myztring'. $REPLACE_CHARS('abcde', 'abcd', '123') devuelve '1231e'. |
$REPLACE_PREFIX(string, prefix, replacement)
|
Reemplaza el inicio prefix en string por replacement. |
$REPLACE_PREFIX('mystring', 'my', 'new') devuelve 'newstring'. |
$REPLACE_SUFFIX(string, suffix, replacement)
|
Reemplaza el suffix final en string por replacement, en lugar de reemplazar cada instancia. |
$REPLACE_SUFFIX('mystring', 'ing', 'new') devuelve 'mystrnew'. |
$RTRIM(string[, characters])
|
Elimina caracteres del final de string. El argumento opcional characters es un conjunto de caracteres a eliminar, no un sufijo. Si se omite, elimina los espacios. |
$RTRIM('orders ') devuelve 'orders'. $RTRIM('orders@@', '@') devuelve 'orders'. |
$SUBSTR(string, start[, length])
|
Extrae texto de string, comenzando en la posición de base uno start. length especifica el número de caracteres. Si se omite, devuelve los caracteres restantes. |
$SUBSTR('abcdef', 2, 3) devuelve 'bcd'. |
$TRIM(string[, characters])
|
Elimina caracteres de ambos extremos de string. El argumento opcional characters es un conjunto de caracteres a eliminar, no una subcadena. Si se omite, elimina los espacios. |
$TRIM(' orders ') devuelve 'orders'. $TRIM('@#orders#@', '@#') devuelve 'orders'. |
$UNICODE(string)
|
Devuelve el punto de código Unicode numérico del primer carácter de string. El argumento debe ser una cadena de texto. |
$UNICODE('ABC') devuelve 65. |
$UPPER(string)
|
Devuelve una copia de string con las letras ASCII convertidas a mayúsculas. |
$UPPER('abc') devuelve 'ABC'. |
Funciones numéricas
Utilice estas funciones para calcular valores numéricos para la fila actual. $MAX y $MIN comparan argumentos dentro de la fila, no valores entre filas.
| Función | Comportamiento y argumentos | Ejemplo y resultado |
|---|---|---|
$ABS(X)
|
Devuelve el valor absoluto del argumento numérico X. |
$ABS(-20) devuelve 20. |
$MAX(arg1, arg2, ...)
|
Devuelve el valor mayor entre los argumentos numéricos suministrados. Suministre al menos dos argumentos. | $MAX(10, 4, 20, 9) devuelve 20. |
$MIN(arg1, arg2, ...)
|
Devuelve el valor menor entre los argumentos numéricos suministrados. Suministre al menos dos argumentos. | $MIN(10, 4, 20, 9) devuelve 4. |
$RANDOM()
|
Devuelve un entero con signo pseudoaleatorio. No admite argumentos. | $RANDOM() devuelve un entero que puede ser negativo, cero o positivo. Su valor varía entre llamadas. |
$ROUND(value[, digits])
|
Redondea value a digits posiciones decimales y devuelve un valor de coma flotante. Si se omite digits, redondea a cero posiciones decimales. |
$ROUND(3.141592, 3) devuelve 3.142. |
Funciones LOB
Estas funciones funcionan con objetos binarios grandes (BLOBs). El argumento de tamaño N especifica bytes, no caracteres.
| Función | Comportamiento y argumentos | Ejemplo y resultado |
|---|---|---|
$HEX(blob)
|
Devuelve texto hexadecimal en mayúsculas que representa los bytes de blob. La entrada numérica se convierte primero a texto; el resultado no es la representación de máquina del número. |
$HEX(X'4142') devuelve '4142'. |
$RANDOM_BLOB(N)
|
Devuelve N bytes pseudoaleatorios. Si N es menor que 1, devuelve un byte. No utilice esta función como garantía de aleatoriedad criptográfica. |
$RANDOM_BLOB(4) devuelve un BLOB de cuatro bytes. Su valor varía entre llamadas. |
$ZERO_BLOB(N)
|
Devuelve un BLOB que contiene N bytes cero. |
$HEX($ZERO_BLOB(3)) devuelve '000000'. |
Funciones de comprobación null
| Función | Comportamiento y argumentos | Ejemplo y resultado |
|---|---|---|
$COALESCE(X, Y, ...)
|
Devuelve el primer argumento no NULL, en el orden de los argumentos. Proporcione al menos dos argumentos. Si todos los argumentos son NULL, el resultado es NULL. Una cadena vacía no es NULL. | $COALESCE(NULL, 'Unknown') devuelve 'Unknown'. $COALESCE('', 'Unknown') devuelve una cadena vacía. |
$IFNULL(X, Y)
|
Devuelve X si no es NULL; de lo contrario, devuelve Y. Devuelve NULL si ambos argumentos son NULL. Proporcione exactamente dos argumentos. |
$IFNULL(NULL, 'Unknown') devuelve 'Unknown'. $IFNULL('Known', 'Unknown') devuelve 'Known'. |
$NULLIF(X, Y)
|
Devuelve NULL si X y Y son iguales; de lo contrario, devuelve X. Proporcione exactamente dos argumentos. |
$NULLIF('Unknown', 'Unknown') devuelve NULL. $NULLIF('Known', 'Unknown') devuelve 'Known'. |
Funciones de fecha y hora
Proporcione una cadena de fecha, hora o fecha y hora como '2026-10-08', '12:34:56' o '2026-10-08 12:34:56'. Mantenga las constantes de fecha entre comillas para que los guiones no se interpreten como una resta.
| Función | Comportamiento y argumentos | Ejemplo y resultado |
|---|---|---|
$DATE(date_string)
|
Devuelve la fecha de date_string como texto en formato YYYY-MM-DD. |
$DATE('2026-10-08') devuelve '2026-10-08'. |
$DATETIME(datetime_string)
|
Devuelve la fecha y hora de datetime_string como texto en formato YYYY-MM-DD HH:MM:SS. |
$DATETIME('2026-10-08 12:34:56') devuelve '2026-10-08 12:34:56'. |
$JULIANDAY(datetime_string)
|
Devuelve días fraccionarios desde el mediodía en Greenwich el 24 de noviembre de 4714 BCE. Reste dos valores de día juliano para calcular un número de días transcurridos. | $JULIANDAY('2000-01-01 12:00:00') devuelve 2451545.0. $JULIANDAY('2026-10-09') - $JULIANDAY('2026-10-08') devuelve 1.0. |
$STRFTIME(format, datetime_string)
|
Devuelve texto formateado mediante format. El formato va antes de la entrada de fecha o fecha y hora. |
$STRFTIME('%Y-%m', '2026-10-08') devuelve '2026-10'. |
$TIME(time_string)
|
Devuelve la hora de time_string como texto en formato HH:MM:SS. |
$TIME('12:34:56') devuelve '12:34:56'. |
Sustituciones de formato
Combine las siguientes sustituciones con separadores literales en $STRFTIME. Por ejemplo, '%Y-%m-%d %H:%M:%S' da formato tanto a la fecha como a la hora. Una sustitución no admitida devuelve NULL.
| Sustitución | Significado |
|---|---|
%d
|
Día del mes, 01-31. |
%H
|
Hora, 00-24. |
%f
|
Segundos con parte fraccionaria, SS.SSS. |
%j
|
Día del año, 001-366. |
%J
|
Número de día juliano. |
%m
|
Mes, 01-12. |
%M
|
Minuto, 00-59. |
%s
|
Segundos desde el 1 de enero de 1970, 00:00:00 UTC. |
%S
|
Segundos, 00-59. |
%w
|
Día de la semana, 0-6; el domingo es 0. |
%W
|
Semana del año, 00-53; las semanas comienzan el lunes. |
%Y
|
Año, 0000-9999. |
%%
|
Un signo de porcentaje literal. |
Funciones de enriquecimiento de datos
Utilice una búsqueda para añadir un valor relacionado, como el nombre de un departamento, desde una tabla en el extremo de origen o de destino.
| Función | Comportamiento y argumentos | Ejemplo y resultado |
|---|---|---|
$SOURCE_LOOKUP(time_to_live, schema, table, expression, condition, condition_params)
|
Recupera el valor de expression de table del extremo de origen, en schema, para el registro que coincide con condition. Los parámetros de condición proporcionan valores para sus marcadores de posición en orden. |
$SOURCE_LOOKUP(60, 'HR', 'DEPARTMENTS', 'DEPARTMENT_NAME', 'DEPARTMENT_ID=:1', $DEPARTMENT_ID) recupera el nombre de departamento coincidente del origen. |
$TARGET_LOOKUP(time_to_live, schema, table, expression, condition, condition_params)
|
Recupera el valor de expression de table del extremo de destino, en schema, para el registro que coincide con condition. Los parámetros de condición proporcionan valores para sus marcadores de posición en orden. |
$TARGET_LOOKUP(60, 'dbo', 'DEPARTMENTS', 'DEPARTMENT_NAME', 'DEPARTMENT_ID=?', $DEPARTMENT_ID) recupera el nombre de departamento coincidente del destino. |
condition_params representa una lista de argumentos separados por comas, no un único argumento de matriz. Ambas funciones utilizan los siguientes parámetros:
| Parámetro | Significado |
|---|---|
time_to_live
|
Tiempo de vida de la caché obligatorio, sin valor predeterminado. Indique el tiempo de vida de la caché en segundos, Los tiempos de vida cortos actualizan los datos que cambian con frecuencia. Los tiempos de vida más largos reducen las consultas al punto de conexión, pero pueden devolver valores almacenados en caché después de que cambien los datos de búsqueda. Utilice sin caducidad únicamente para datos que no cambien. |
schema
|
Esquema que contiene la tabla de búsqueda, proporcionado como texto. |
table
|
Tabla que se va a consultar dentro de ese esquema, proporcionada como texto. |
expression
|
Expresión SQL que selecciona el valor de una columna, como 'DEPARTMENT_NAME' o 'PRICE * 1.2'. Utilice el dialecto SQL del extremo al que se accede, no la sintaxis de función de la expresión externa. |
condition
|
Condición SQL que identifica el registro de búsqueda. Utilice el dialecto y la sintaxis de marcador de posición del extremo al que se accede: por ejemplo, :1 y :2 para Oracle, o ? para Microsoft SQL Server. |
condition_params
|
Valores vinculados a los marcadores de posición de la condición, en orden. Los parámetros de columna como $COMPANY_ID y $DEPARTMENT_ID proporcionan valores de la fila actual. |
Indexe los campos de búsqueda para reducir el coste de la consulta. Seleccione una condición que identifique el registro deseado y establezca el tipo de datos de la columna agregada para que coincida con el valor seleccionado.
$SOURCE_LOOKUP y $TARGET_LOOKUP. Vea Probar expresiones.Ejemplo de búsqueda de origen
Para un origen de Oracle, la siguiente expresión recupera DEPARTMENT_NAME de HR.DEPARTMENTS y almacena en caché el resultado durante 60 segundos:
$SOURCE_LOOKUP(60, 'HR', 'DEPARTMENTS', 'DEPARTMENT_NAME', 'DEPARTMENT_ID=:1', $DEPARTMENT_ID)
Si la fila actual tiene DEPARTMENT_ID 10 y el registro de búsqueda coincidente contiene 'Sales', el resultado es 'Sales'.
Para un origen de Microsoft SQL Server, utilice su sintaxis de marcador de posición de condición. Este ejemplo vincula los valores de empresa y departamento en ese orden:
$SOURCE_LOOKUP(60, 'dbo', 'DEPARTMENTS', 'DEPARTMENT_NAME', 'COMPANY_ID=? AND DEPARTMENT_ID=?', $COMPANY_ID, $DEPARTMENT_ID)
Ejemplo de búsqueda de destino
Para un destino de Microsoft SQL Server, consulte la tabla de destino utilizando su dialecto SQL:
$TARGET_LOOKUP(60, 'dbo', 'DEPARTMENTS', 'DEPARTMENT_NAME', 'DEPARTMENT_ID=?', $DEPARTMENT_ID)
Si el registro de búsqueda de destino para el departamento 10 contiene 'Sales', el resultado para un valor de entrada de 10 es 'Sales'.
Funciones de operaciones
| Función | Comportamiento y argumentos | Ejemplo y resultado |
|---|---|---|
$OPERATION_INDICATOR(value_on_delete, value_on_update, value_on_insert)
|
Devuelve el indicador que especifique para cada operación de origen. El orden de los argumentos es eliminar, actualizar y luego insertar. Utilice una columna dedicada para almacenar los indicadores y proporcione valores de indicador que coincidan con su tipo de datos. | $OPERATION_INDICATOR('Deleted', 'Updated', 'Inserted') devuelve 'Updated' para una actualización. |
En Qlik Replicate, esta función también cambia el tratamiento de las eliminaciones: conserva el registro de destino correspondiente y lo marca con value_on_delete. Este comportamiento de gestión de eliminaciones requiere confirmación para Qlik Talend Cloud Data Integration.
Funciones lógicas
| Función | Comportamiento y argumentos | Ejemplo y resultado |
|---|---|---|
$IFF(boolean_expression, true_value, false_value)
|
Devuelve true_value si boolean_expression se evalúa como true; de lo contrario, devuelve false_value. Indique primero la condición, seguida de los dos valores de resultado. |
$IFF(10 > 5, 'High', 'Low') devuelve 'High'. $IFF(3 > 5, 'High', 'Low') devuelve 'Low'. |
Otras funciones
| Función | Comportamiento y argumentos | Ejemplo y resultado |
|---|---|---|
$LIKE(pattern, string[, escape_character])
|
Devuelve 1 en caso de coincidencia o 0 si no hay coincidencia; una entrada NULL produce NULL. % coincide con cero o más caracteres; _ coincide con uno. La coincidencia ignora las mayúsculas y minúsculas ASCII de forma predeterminada. El escape opcional es de un carácter. El patrón va primero, a diferencia del operador LIKE. |
$LIKE('A%', 'Alice') devuelve 1. $LIKE('10!%', '10%', '!') devuelve 1. |
$TYPEOF(expression)
|
Devuelve la clase de almacenamiento del valor: 'null', 'integer', 'real', 'text' o 'blob'. Este no es el tipo de columna de salida configurado. |
$TYPEOF(12.5) devuelve 'real'. |
Funciones hash
| Función | Comportamiento y argumentos | Ejemplo y resultado |
|---|---|---|
$SHA256(string)
|
Devuelve el hash hexadecimal SHA-256 de la cadena de entrada. | $SHA256('abc') devuelve ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad. |
Un hash no es cifrado. Los valores de entrada predecibles aún se pueden identificar comparando sus hashes.