Edición de expresiones expression
Editar una expresión implica introducir manualmente las condiciones para formar una regla. Este modo le permite utilizar funciones avanzadas, que le permiten manipular los valores utilizados para llevar a cabo consultas específicas, como la manipulación de fechas, cadenas, campos numéricos, ordenación, etc.
Trabajo con el editor de expresiones edit
El editor de expresiones está disponible en el botón del modelador de consultas Editar expresión, disponible para los campos Atributo y Valor al configurar una condición personalizada.
El editor de expresiones proporciona lo siguiente:
- Un campo de entrada (1) en el que se define la expresión.
- La lista de campos (2) disponibles que se pueden usar en la expresión y que corresponden al esquema, también conocido como dimensión de segmentación, de la consulta.
- Funciones de ayuda (3), ordenadas por categoría.
Edite la expresión introduciendo una expresión directamente en el campo de entrada. Para añadir un campo o una función de ayuda, coloque el cursor en la expresión donde desee añadirlo y haga clic en el botón +.
Cuando la expresión esté lista, haga clic en el botón Confirmar. La expresión se muestra en el campo seleccionado. Para editarlo, abra el editor de expresiones y realice los cambios deseados.
El ejemplo siguiente muestra una expresión configurada para el campo Value. Para editarlo, debe abrir el editor de expresiones con el botón Editar expresión.
Funciones de ayuda
La herramienta de edición de consultas le permite utilizar funciones avanzadas para llevar a cabo filtros complejos según los resultados deseados y los tipos de datos manipulados. Estas son las funciones disponibles:
Fecha
Las funciones de fecha se utilizan para manipular los valores de fecha y hora.
| table 0-row-4 1-row-4 2-row-4 3-row-4 4-row-4 5-row-4 6-row-4 7-row-4 8-row-4 9-row-4 10-row-4 11-row-4 12-row-4 13-row-4 14-row-4 15-row-4 16-row-4 17-row-4 18-row-4 19-row-4 20-row-4 21-row-4 22-row-4 23-row-4 24-row-4 25-row-4 26-row-4 27-row-4 28-row-4 29-row-4 30-row-4 31-row-4 32-row-4 33-row-4 34-row-4 35-row-4 36-row-4 37-row-4 38-row-4 39-row-4 40-row-4 41-row-4 | |||
|---|---|---|---|
| Nombre | Descripción | Sintaxis | Ejemplo |
| AddYears | Agrega el número de años especificado a la fecha y hora proporcionadas. | AddYears(<DATETIME>, <NUMBER>) | AddYears("2019-12-25 15:30:00", 3) |
| AddMonths | Agrega el número de meses especificado a la fecha y hora proporcionadas. | AddMonths(<DATETIME>, <NUMBER>) | AddMonths("2019-12-25 15:30:00", 6) |
| AddDays | Agrega el número de días especificado a la fecha y hora proporcionadas. | AddDays(<DATETIME>, <NUMBER>) | AddDays("2019-12-25 15:30:00", 10) |
| AddHours | Agrega el número de horas especificado a la fecha y hora proporcionadas. | AddHours(<DATETIME>, <NUMBER>) | AddHours("2019-12-25 15:30:00", 3) |
| AddMinutes | Agrega el número de minutos especificado a la fecha y hora proporcionadas. | AddMinutes(<DATETIME>, <NUMBER>) | AddMinutes("2019-12-25 15:30:00", 32) |
| AddSeconds | Agrega el número de segundos especificado a la fecha y hora proporcionadas. | AddSeconds(<DATETIME>, <NUMBER>) | AddSeconds("2019-12-25 15:30:00", 37) |
| SubYears | Resta el número de años especificado a la fecha y hora proporcionadas. | SubYears(<DATETIME>, <NUMBER>) | SubYears("2019-12-25 15:30:00", 3) |
| SubMonths | Resta el número de meses especificado a la fecha y hora proporcionadas. | SubMonths(<DATETIME>, <NUMBER>) | SubMonths("2019-12-25 15:30:00", 6) |
| SubDays | Resta el número de días especificado a la fecha y hora proporcionadas. | SubDays(<DATETIME>, <NUMBER>) | SubDays("2019-12-25 15:30:00", 10) |
| SubHours | Resta el número de horas especificado a la fecha y hora proporcionadas. | SubHours(<DATETIME>, <NUMBER>) | SubHours("2019-12-25 15:30:00", 3) |
| SubMinutes | Resta el número de minutos especificado a la fecha y hora proporcionadas. | SubMinutes(<DATETIME>, <NUMBER>) | SubMinutes("2019-12-25 15:30:00", 32) |
| SubSeconds | Resta el número de segundos especificado a la fecha y hora proporcionadas. | SubSeconds(<DATETIME>, <NUMBER>) | SubSeconds("2019-12-25 15:30:00", 37) |
| Year | Extrae el año del objeto datetime dado. | Year(<DATETIME>) | Year("2019-12-15 15:30:00") |
| Month | Extrae el mes del objeto datetime dado. | Month(<DATETIME>) | Month("2019-12-15 15:30:00") |
| Day | Extrae el día del objeto datetime determinado. | Day(<DATETIME>) | Day("2019-12-15 15:30:00") |
| DayOfYear | Extrae el día del año del objeto de fecha y hora dado. Por ejemplo, si la fecha y hora proporcionadas es el 2 de febrero, devolvería 33. | DayOfYear(<DATETIME>) | DayOfYear("2019-12-15 15:30:00") |
| WeekDay | Extrae el día de la semana del objeto datetime determinado, como un número del 0 al 6, donde 0 representa el domingo. | Year(<DATETIME>) | Year("2019-12-15 15:30:00") |
| Hour | Extrae el valor de hora del objeto datetime dado. | Year(<DATETIME>) | Year("2019-12-15 15:30:00") |
| Minute | Extrae el valor de minuto del objeto datetime dado. | Year(<DATETIME>) | Year("2019-12-15 15:30:00") |
| Second | Extrae el segundo valor del objeto datetime dado. | Year(<DATETIME>) | Year("2019-12-15 15:30:00") |
| YearsDiff | Encuentra la diferencia entre las horas de datos dadas, con una granularidad de años. | YearsDiff(<DATETIME>, <DATETIME>) | YearsDiff("2019-12-25 15:30:00", "2018-10-14 18:35:27") |
| MonthsDiff | Encuentra la diferencia entre las fechas y horas determinadas, con una granularidad de meses. | MonthsDiff(<DATETIME>, <DATETIME>) | MonthsDiff("2019-12-25 15:30:00", "2018-10-14 18:35:27") |
| DaysDiff | Busca la diferencia entre las horas de fecha especificadas, con una granularidad de días. | DaysDiff(<DATETIME>, <DATETIME>) | DaysDiff("2019-12-25 15:30:00", "2018-10-14 18:35:27") |
| HoursDiff | Busca la diferencia entre las horas de la fecha y hora especificadas, con una granularidad de horas. | HoursDiff(<DATETIME>, <DATETIME>) | HoursDiff("2019-12-25 15:30:00", "2018-10-14 18:35:27") |
| MinutesDiff | Busca la diferencia entre las horas de datos indicadas, con una granularidad de minutos. | MinutesDiff(<DATETIME>, <DATETIME>) | MinutesDiff("2019-12-25 15:30:00", "2018-10-14 18:35:27") |
| SecondsDiff | Busca la diferencia entre las horas de datos indicadas, con una granularidad de segundos. | SecondsDiff(<DATETIME>, <DATETIME>) | SecondsDiff("2019-12-25 15:30:00", "2018-10-14 18:35:27") |
| YearsOld | Encuentra la diferencia entre la fecha y hora dadas y el presente, con una granularidad de años. | YearsOld(<DATETIME>) | YearsOld("2019-12-25 15:30:00") |
| MonthsOld | Busca la diferencia entre la fecha y hora dadas y la fecha actual, con una granularidad de meses. | MonthsOld(<DATETIME>) | MonthsOld("2019-12-25 15:30:00") |
| DaysOld | Busca la diferencia entre la fecha y hora dadas y la fecha actual, con una granularidad de días. | DaysOld(<DATETIME>) | DaysOld("2019-12-25 15:30:00") |
| GetDate | Obtener la fecha actual del servidor. | GetDate() | GetDate() |
| DateOnly | Trunca la fecha y hora a sólo el año, el mes y el día. | DateOnly(<DATETIME>) | DateOnly("2019-12-25 15:30:00") |
| ToDate | Convierte el campo en un campo de fecha. | ToDate(<DATETIME>) | ToDate("2019-12-25 15:30:00") |
| ToDateTime | Convierte el campo en un campo de fecha y hora. | ToDateTime(<DATE>) | ToDateTime("2019-12-25 15:30:00") |
| ToTimestamp | Convierte el campo en un campo de marca de tiempo. | ToTimestamp(<DATETIME>) | ToTimestamp("2019-12-25 15:30:00") |
| Oldest | Devuelve la fecha más antigua entre las dos proporcionadas. | Oldest(<DATETIME>, <DATETIME>) | Oldest("2015-02-13 11:59:59", "2016-04-13 19:28:14") |
| TruncDate | Trunca la fecha y hora a la unidad más cercana, según el valor numérico dado. Si el valor numérico es igual a 60, se trunca al minuto más cercano. Si el valor numérico es igual a 3600, se trunca a la hora más cercana. Si el valor numérico es igual a 86400, se trunca al día más cercano. De lo contrario, se trunca al segundo más cercano. | TruncDate(<DATETIME>, <NUMBER>) | TruncDate("2016-04-13 19:28:14", 3600) |
| TruncDateTZ | Trunca la fecha y hora a la unidad más cercana, basándose en el valor numérico dado, y establece la fecha y hora en la zona horaria especificada. Si el valor numérico es igual a 60, se trunca al minuto más cercano. Si el valor numérico es igual a 3600, se trunca a la hora más cercana. Si el valor numérico es igual a 86400, se trunca al día más cercano. | TruncDateTZ(<DATETIME>, <NUMBER>, <TIMEZONE>) | TruncDateTZ("2016-04-13 19:28:14", 3600, "América/Los_Angeles") |
| TruncTime | Establece la fecha y hora en 1 de enero de 2000 y redondea el resto de la fecha y hora a la unidad más cercana, según el valor numérico dado. Si el valor numérico es igual a 60, se trunca al minuto más cercano. Si el valor numérico es igual a 3600, se trunca a la hora más cercana. | TruncTime(<DATETIME>, <NUMBER>) | TruncTime("2016-04-13 19:28:14", 3600) |
| TruncQuarter | Trunca la fecha y hora a la primera fecha del trimestre más próximo. | TruncQuarter(<DATETIME>) | TruncQuarter("2016-04-13 19:28:14") |
| TruncYear | Trunca la fecha y hora a la primera fecha del año más próximo. | TruncYear(<DATETIME>) | TruncYear("2016-04-13 19:28:14") |
| TruncWeek | Trunca la fecha y hora al domingo de la semana más próxima. | TruncWeek(<DATETIME>) | TruncWeek("2016-04-13 19:28:14") |
| table 0-row-4 1-row-4 2-row-4 3-row-4 4-row-4 5-row-4 6-row-4 7-row-4 8-row-4 9-row-4 10-row-4 11-row-4 12-row-4 13-row-4 14-row-4 15-row-4 16-row-4 17-row-4 18-row-4 19-row-4 20-row-4 21-row-4 22-row-4 23-row-4 24-row-4 25-row-4 26-row-4 27-row-4 28-row-4 29-row-4 30-row-4 31-row-4 32-row-4 33-row-4 34-row-4 35-row-4 36-row-4 37-row-4 38-row-4 39-row-4 40-row-4 41-row-4 | |||
|---|---|---|---|
| Nombre | Descripción | Sintaxis | Ejemplo |
| AddYears | Agrega el número de años especificado a la fecha y hora proporcionadas. | AddYears(<DATETIME>, <NUMBER>) | AddYears("2019-12-25 15:30:00", 3) |
| AddMonths | Agrega el número de meses especificado a la fecha y hora proporcionadas. | AddMonths(<DATETIME>, <NUMBER>) | AddMonths("2019-12-25 15:30:00", 6) |
| AddDays | Agrega el número de días especificado a la fecha y hora proporcionadas. | AddDays(<DATETIME>, <NUMBER>) | AddDays("2019-12-25 15:30:00", 10) |
| AddHours | Agrega el número de horas especificado a la fecha y hora proporcionadas. | AddHours(<DATETIME>, <NUMBER>) | AddHours("2019-12-25 15:30:00", 3) |
| AddMinutes | Agrega el número de minutos especificado a la fecha y hora proporcionadas. | AddMinutes(<DATETIME>, <NUMBER>) | AddMinutes("2019-12-25 15:30:00", 32) |
| AddSeconds | Agrega el número de segundos especificado a la fecha y hora proporcionadas. | AddSeconds(<DATETIME>, <NUMBER>) | AddSeconds("2019-12-25 15:30:00", 37) |
| SubYears | Resta el número de años especificado a la fecha y hora proporcionadas. | SubYears(<DATETIME>, <NUMBER>) | SubYears("2019-12-25 15:30:00", 3) |
| SubMonths | Resta el número de meses especificado a la fecha y hora proporcionadas. | SubMonths(<DATETIME>, <NUMBER>) | SubMonths("2019-12-25 15:30:00", 6) |
| SubDays | Resta el número de días especificado a la fecha y hora proporcionadas. | SubDays(<DATETIME>, <NUMBER>) | SubDays("2019-12-25 15:30:00", 10) |
| SubHours | Resta el número de horas especificado a la fecha y hora proporcionadas. | SubHours(<DATETIME>, <NUMBER>) | SubHours("2019-12-25 15:30:00", 3) |
| SubMinutes | Resta el número de minutos especificado a la fecha y hora proporcionadas. | SubMinutes(<DATETIME>, <NUMBER>) | SubMinutes("2019-12-25 15:30:00", 32) |
| SubSeconds | AdResta el número de segundos especificado a la fecha y hora proporcionadas. | SubSeconds(<DATETIME>, <NUMBER>) | SubSeconds("2019-12-25 15:30:00", 37) |
| Year | Extrae el año del objeto datetime dado. | Year(<DATETIME>) | Year("2019-12-15 15:30:00") |
| Month | Extrae el mes del objeto datetime dado. | Month(<DATETIME>) | Month("2019-12-15 15:30:00") |
| Day | Extrae el día del objeto datetime determinado. | Day(<DATETIME>) | Day("2019-12-15 15:30:00") |
| DayOfYear | Extrae el día del año del objeto de fecha y hora dado. Por ejemplo, si la fecha y hora proporcionadas es el 2 de febrero, devolvería 33. | DayOfYear(<DATETIME>) | DayOfYear("2019-12-15 15:30:00") |
| WeekDay | Extrae el día de la semana del objeto datetime determinado, como un número del 1 al 7, donde 1 representa el domingo. | Year(<DATETIME>) | Year("2019-12-15 15:30:00") |
| Hour | Extrae el valor de hora del objeto datetime dado. | Year(<DATETIME>) | Year("2019-12-15 15:30:00") |
| Minute | Extrae el valor de minuto del objeto datetime dado. | Year(<DATETIME>) | Year("2019-12-15 15:30:00") |
| Second | Extrae el segundo valor del objeto datetime dado. | Year(<DATETIME>) | Year("2019-12-15 15:30:00") |
| YearsDiff | Encuentra la diferencia entre las horas de datos dadas, con una granularidad de años. | YearsDiff(<DATETIME>, <DATETIME>) | YearsDiff("2019-12-25 15:30:00", "2018-10-14 18:35:27") |
| MonthsDiff | Encuentra la diferencia entre las fechas y horas determinadas, con una granularidad de meses. | MonthsDiff(<DATETIME>, <DATETIME>) | MonthsDiff("2019-12-25 15:30:00", "2018-10-14 18:35:27") |
| DaysDiff | Busca la diferencia entre las horas de fecha especificadas, con una granularidad de días. | DaysDiff(<DATETIME>, <DATETIME>) | DaysDiff("2019-12-25 15:30:00", "2018-10-14 18:35:27") |
| HoursDiff | Busca la diferencia entre las horas de la fecha y hora especificadas, con una granularidad de horas. | HoursDiff(<DATETIME>, <DATETIME>) | HoursDiff("2019-12-25 15:30:00", "2018-10-14 18:35:27") |
| MinutesDiff | Busca la diferencia entre las horas de datos indicadas, con una granularidad de minutos. | MinutesDiff(<DATETIME>, <DATETIME>) | MinutesDiff("2019-12-25 15:30:00", "2018-10-14 18:35:27") |
| SecondsDiff | Busca la diferencia entre las horas de datos indicadas, con una granularidad de segundos. | SecondsDiff(<DATETIME>, <DATETIME>) | SecondsDiff("2019-12-25 15:30:00", "2018-10-14 18:35:27") |
| MonthsOld | Busca la diferencia entre la fecha y hora dadas y la fecha actual, con una granularidad de meses. | MonthsOld(<DATETIME>) | MonthsOld("2019-12-25 15:30:00") |
| DaysOld | Busca la diferencia entre la fecha y hora dadas y la fecha actual, con una granularidad de días. | DaysOld(<DATETIME>) | DaysOld("2019-12-25 15:30:00") |
| GetDate | Obtener la fecha actual del servidor. | GetDate() | GetDate() |
| DateOnly | Trunca la fecha y hora a sólo el año, el mes y el día. | DateOnly(<DATETIME>) | DateOnly("2019-12-25 15:30:00") |
| ToDate | Convierte el campo en un campo de fecha. | ToDate(<DATETIME>) | ToDate("2019-12-25 15:30:00") |
| ToDateTime | Convierte el campo en un campo de fecha y hora. | ToDateTime(<DATE>) | ToDateTime("2019-12-25 15:30:00") |
| ToTimestamp | Convierte el campo en un campo de marca de tiempo. | ToTimestamp(<DATETIME>) | ToTimestamp("2019-12-25 15:30:00") |
| Oldest | Devuelve la fecha más antigua entre las dos proporcionadas. | Oldest(<DATETIME>, <DATETIME>) | Oldest("2015-02-13 11:59:59", "2016-04-13 19:28:14") |
| TruncDate | Trunca la fecha y hora a la unidad más cercana, según el valor numérico dado. Si el valor numérico es igual a 60, se trunca al minuto más cercano. Si el valor numérico es igual a 3600, se trunca a la hora más cercana. Si el valor numérico es igual a 86400, se trunca al día más cercano. De lo contrario, se trunca al segundo más cercano. | TruncDate(<DATETIME>, <NUMBER>) | TruncDate("2016-04-13 19:28:14", 3600) |
| TruncDateTZ | Trunca la fecha y hora a la unidad más cercana, basándose en el valor numérico dado, y establece la fecha y hora en la zona horaria especificada. Si el valor numérico es igual a 60, se trunca al minuto más cercano. Si el valor numérico es igual a 3600, se trunca a la hora más cercana. Si el valor numérico es igual a 86400, se trunca al día más cercano. | TruncDateTZ(<DATETIME>, <NUMBER>, <TIMEZONE>) | TruncDateTZ("2016-04-13 19:28:14", 3600, "América/Los_Angeles") |
| TruncTime | Establece la fecha y hora en 1 de enero de 2000 y redondea el resto de la fecha y hora a la unidad más cercana, según el valor numérico dado. Si el valor numérico es igual a 60, se trunca al minuto más cercano. Si el valor numérico es igual a 3600, se trunca a la hora más cercana. | TruncTime(<DATETIME>, <NUMBER>) | TruncTime("2016-04-13 19:28:14", 3600) |
| TruncQuarter | Trunca la fecha y hora a la primera fecha del trimestre más próximo. | TruncQuarter(<DATETIME>) | TruncQuarter("2016-04-13 19:28:14") |
| TruncYear | Trunca la fecha y hora a la primera fecha del año más próximo. | TruncYear(<DATETIME>) | TruncYear("2016-04-13 19:28:14") |
| TruncWeek | Trunca la fecha y hora al domingo de la semana más próxima. | TruncWeek(<DATETIME>) | TruncWeek("2016-04-13 19:28:14") |
| ConvertNTZ | Convierte una marca de tiempo sin zona horaria en una marca de tiempo con zona horaria. La zona horaria adjunta será la de la cuenta externa. | ConvertNTZ(<FECHA Y HORA>) | ConvertNTZ("2024-06-24 14:43:49") |
Geomarketing
Las funciones de geomarketing se utilizan para manipular los valores geográficos.
| table 0-row-4 1-row-4 | |||
|---|---|---|---|
| Nombre | Descripción | Sintaxis | Ejemplo |
| Distance | Devuelve la distancia entre dos puntos definidos por su longitud y latitud en grados, como un valor doble. | Distance(<NUMBER>, <NUMBER>, <NUMBER>, <NUMBER>) | Distancia (40,345; 39,2345; -35,5834; 34,599) |
| table 0-row-4 1-row-4 | |||
|---|---|---|---|
| Nombre | Descripción | Sintaxis | Ejemplo |
| Distance | Devuelve la distancia entre dos puntos definidos por su longitud y latitud en grados, como un valor doble. | Distance(<NUMBER>, <NUMBER>, <NUMBER>, <NUMBER>) | Distancia (40,345; 39,2345; -35,5834; 34,599) |
Numérico
Las funciones de valores numéricos se utilizan para convertir texto en números.
| table 0-row-4 1-row-4 2-row-4 3-row-4 4-row-4 5-row-4 6-row-4 7-row-4 8-row-4 | |||
|---|---|---|---|
| Nombre | Descripción | Sintaxis | Ejemplo |
| Mod | Devuelve el resto del primer número dividido por el segundo número. | Mod(<NUMBER>, <NUMBER>) | Mod (3, 2) |
| Percent | Calcula el porcentaje que representa el primer número del segundo número. | Percent(<NÚMERO>, <NÚMERO>) | Percent(1, 2) |
| Random | Devuelve un número aleatorio entre 0 (incluido) y 1 (exclusivo). | Random() | Aleatorio () |
| Round | Devuelve el número proporcionado con el decimal solicitado más cercano. | Redondeo(<NUMBER>, <NUMBER>) | Redondo(4.5394, 2) |
| ToDouble | Convierte el número proporcionado en un valor doble. | ToDouble(<NUMBER>) | ParaDoble(5) |
| ToInteger | Convierte el número proporcionado en un entero. | ToInteger(<NUMBER>) | ToInteger(45) |
| ToInt64 | Convierte el número proporcionado en un entero de 64 bits. | ToInt64(<NUMBER>) | ToInt64(493) |
| Trunc | Trunca el número proporcionado al número solicitado de decimales. | Trunc(<NUMBER>, <NUMBER>) | Trunc(36.9348934, 3) |
| table 0-row-4 1-row-4 2-row-4 3-row-4 4-row-4 5-row-4 6-row-4 7-row-4 | |||
|---|---|---|---|
| Nombre | Descripción | Sintaxis | Ejemplo |
| Mod | Devuelve el resto del primer número dividido por el segundo número. | Mod(<NUMBER>, <NUMBER>) | Mod (3, 2) |
| Percent | Calcula el porcentaje que representa el primer número del segundo número. | Percent(<NÚMERO>, <NÚMERO>) | Percent(1, 2) |
| Random | Devuelve un número aleatorio entre 0 (incluido) y 1 (exclusivo). | Random() | Aleatorio () |
| ToDouble | Convierte el número proporcionado en un valor doble. | ToDouble(<NUMBER>) | ParaDoble(5) |
| ToInteger | Convierte el número proporcionado en un entero. | ToInteger(<NUMBER>) | ToInteger(45) |
| ToInt64 | Convierte el número proporcionado en un entero de 64 bits. | ToInt64(<NUMBER>) | ToInt64(493) |
| Trunc | Trunca el número proporcionado al número solicitado de decimales. | Trunc(<NUMBER>, <NUMBER>) | Trunc(36.9348934, 3) |
Otros
Esta tabla contiene las funciones restantes disponibles.
| table 0-row-4 1-row-4 2-row-4 3-row-4 4-row-4 5-row-4 6-row-4 7-row-4 8-row-4 9-row-4 10-row-4 11-row-4 12-row-4 13-row-4 14-row-4 15-row-4 | |||
|---|---|---|---|
| Nombre | Descripción | Sintaxis | Ejemplo |
| Case | Devuelve el primer valor si la expresión es verdadera. De lo contrario, devuelve el segundo valor. | Case(When(<EXPRESSION> <VALUE>), Else(<VALUE>)) | Case(When(a > b, "sí"), Else("no")) |
| When | Se utiliza como parte de la función Case. Se utiliza para comprobar la expresión dentro de Case. | When(<EXPRESIÓN> <VALOR>) | When(a > b, "sí") |
| Else | Se utiliza como parte de la función Case. Se utiliza para elegir la otra opción, si la expresión When es falsa. | Else(<VALUE>) | Else ("no") |
| Coalesce | Devuelve el primer valor no nulo. | Coalesce(<VALUE>, <VALUE>) | Coalesce ("", "string") |
| Decode | Devuelve la primera opción si los valores son iguales. Devuelve la segunda opción si los valores no son iguales. | Decode(<VALUE>, <VALUE>, <VALUE>, <VALUE>) | Decode(1, 2, "true", "false") |
| GetEmailDomain | Extrae el dominio de la dirección de correo electrónico proporcionada. | GetEmailDomain(<STRING>) | GetEmailDomain("sample@example.com") |
| Iif | Devuelve la primera opción si la condición es verdadera y devuelve la segunda opción si la condición es falsa. | Iif(<CONDITION>, <VALUE>, <VALUE>) | Iif(10 < 20, "true", "false") |
| IsEmptyString | Devuelve la primera opción si la cadena está vacía. De lo contrario, devuelve la segunda opción. | IsEmptyString( <CADENA> ,<VALOR>, <VALOR>) | IsEmptyString("string", "yes", "no") |
| NewUUID | Genera un nuevo UUID único. | NewUUID() | NewUUID() |
| NoNull | Devuelve la cadena proporcionada si no está vacía y devuelve una cadena vacía si la cadena proporcionada está vacía. | NoNull(<STRING>) | NoNull("test") |
| IsBitSet | Realiza un bit a bit y (&) en los números proporcionados. Esto permite comprobar si el bit del primer parámetro está definido en la posición proporcionada en el segundo parámetro. | IsBitSet(<NUMBER>, <NUMBER>) | IsBitSet(5, 3) |
| ClearBit | Esto permite borrar el bit dentro del primer parámetro en la posición proporcionada en el segundo parámetro. | ClearBit(<NUMBER>, <NUMBER>) | |
| SetBit | Realiza un bit a bit o (|) en los números proporcionados. Esto permite configurar el bit dentro del primer parámetro y establecerlo en la posición proporcionada en el segundo parámetro. | SetBit(<NUMBER>, <NUMBER>) | SetBit(5, 3) |
| RowId | Devuelve el número de línea. | RowId() | RowId() |
| ToBoolean | Convierte el valor en booleano. | ToBoolean(<VALUE>) | ToBoolean(a=b) |
| table 0-row-4 1-row-4 2-row-4 3-row-4 4-row-4 5-row-4 6-row-4 7-row-4 8-row-4 9-row-4 10-row-4 11-row-4 12-row-4 13-row-4 14-row-4 15-row-4 16-row-4 | |||
|---|---|---|---|
| Nombre | Descripción | Sintaxis | Ejemplo |
| Case | Devuelve el primer valor si la expresión es verdadera. De lo contrario, devuelve el segundo valor. | Case(When(<EXPRESSION> <VALUE>), Else(<VALUE>)) | Case(When(a > b, "sí"), Else("no")) |
| When | Se utiliza como parte de la función Case. Se utiliza para comprobar la expresión dentro de Case. | When(<EXPRESIÓN> <VALOR>) | When(a > b, "sí") |
| Else | Se utiliza como parte de la función Case. Se utiliza para elegir la otra opción, si la expresión When es falsa. | Else(<VALUE>) | Else ("no") |
| GetEmailDomain | Extrae el dominio de la dirección de correo electrónico proporcionada. | GetEmailDomain(<STRING>) | GetEmailDomain("sample@example.com") |
| Iif | Devuelve la primera opción si la condición es verdadera y devuelve la segunda opción si la condición es falsa. | Iif(<CONDITION>, <VALUE>, <VALUE>) | Iif(10 < 20, "true", "false") |
| IsEmptyString | Devuelve la primera opción si la cadena está vacía. De lo contrario, devuelve la segunda opción. | IsEmptyString( <CADENA> ,<VALOR>, <VALOR>) | IsEmptyString("string", "yes", "no") |
| ToBoolean | Devuelve 1 si el valor es true. Devuelve 0 si el valor es falso. | ToBoolean(<VALUE>) | ToBoolean(a=b) |
| ToBooleanType | Convierte el valor en booleano. | ToBooleanType(<VALUE>) | ToBooleanType(a=b) |
| IsBitSet | Realiza un bit a bit y (&) en los números proporcionados. Esto permite comprobar si el bit del primer parámetro está definido en la posición proporcionada en el segundo parámetro. | IsBitSet(<NUMBER>, <NUMBER>) | IsBitSet(5, 3) |
| ClearBit | Esto permite borrar el bit dentro del primer parámetro en la posición proporcionada en el segundo parámetro. | ClearBit(<NUMBER>, <NUMBER>) | |
| SetBit | Realiza un bit a bit o (|) en los números proporcionados. Esto permite configurar el bit dentro del primer parámetro y establecerlo en la posición proporcionada en el segundo parámetro. | SetBit(<NUMBER>, <NUMBER>) | SetBit(5, 3) |
| RowId | Devuelve el número de línea. | RowId() | RowId() |
| NewUUID | Genera un nuevo UUID único. | NewUUID() | NewUUID() |
| NoNull | Devuelve la cadena proporcionada si no está vacía y devuelve una cadena vacía si la cadena proporcionada está vacía. | NoNull(<STRING>) | NoNull("test") |
| AESEncrypt | Codifica la cadena proporcionada con el tipo de cifrado AES. | AESEncrypt() | AESEncrypt("hello") |
| ObjectConstruct | Crea un objeto basado en los pares clave/valor proporcionados. | ObjectConstruct(<STRING>, <STRING>) | ObjectConstruct("key", "value") |
Cadena
Las funciones de cadena se utilizan para manipular un conjunto de cadenas.
| table 0-row-4 1-row-4 2-row-4 3-row-4 4-row-4 5-row-4 6-row-4 7-row-4 8-row-4 9-row-4 10-row-4 11-row-4 12-row-4 13-row-4 14-row-4 15-row-4 16-row-4 17-row-4 18-row-4 19-row-4 20-row-4 21-row-4 | |||
|---|---|---|---|
| Nombre | Descripción | Sintaxis | Ejemplo |
| AllNonNull2 | Toma dos cadenas y comprueba si todas ellas no son nulas y no están vacías. | AllNonNull2(<STRING>, <STRING>) | AllNonNull2("", "string2") |
| AllNonNull3 | Toma tres cadenas y comprueba si todas son nulas y no están vacías | AllNonNull3(<STRING>, <STRING>, <STRING>) | AllNonNull3("", "uno", "tres") |
| Ascii | Toma una cadena y devuelve el resultante | Ascii(<STRING>) | Ascii (foo) |
| Char | Toma una matriz de puntos de código Unicode y devuelve la cadena resultante. | Char(<ARRAY>) | Char([65, 68, 79, 66, 69]) |
| Charindex | Busca la primera aparición de la subcadena especificada dentro de la cadena principal. | Charindex(<CADENA>, <SUBCADENA>) | Charindex ("bar@example.com", "@") |
| dataLength | Devuelve el número de bytes de la cadena. | dataLength(<STRING>) | dataLength("Mi cadena") |
| GetLine | Devuelve la línea solicitada de la cadena proporcionada. | GetLine(<STRING>, <NUMBER>) | GetLine(multilinestring, 5) |
| IfEquals | Toma cuatro cadenas y devuelve la tercera cadena si las dos primeras cadenas son iguales y devuelve la cuarta cadena si las dos primeras cadenas no son iguales. | IfEquals(<STRING>, <STRING>, <STRING>, <STRING>) | IfEquals("a", "a", "sí", "no") |
| IsMemoNull | Devuelve 1 si la cadena es nula; en caso contrario, devuelve 0. | IsMemoNull(<STRING>) | IsMemoNull("hello") |
| JuxtWords | Toma dos cadenas y las combina en una sola. Si es necesario, se añaden espacios entre las cadenas. | JuxtWords(<STRING>, <STRING>) | JuxtWords("Hello", "World") |
| JuxtWords3 | Toma tres cadenas y las combina en una sola. Si es necesario, se añaden espacios entre las cadenas. | JuxtWords3(<STRING>, <STRING>, <STRING>) | JuxtWords3("Hola", "Nuevo", "Mundo") |
| Left | Toma una cadena y devuelve los caracteres situados más a la izquierda según se haya especificado. | Left(<STRING>, <NUMBER>) | Left("Substring", 3) |
| Length | Devuelve la longitud de la cadena. | Length(<STRING>) | Length("MyString") |
| Md5Digest | Convierte la cadena con hash MD5 en su representación hexadecimal. | Md5Digest(<STRING>) | Md5Digest("String") |
| MemoContains | Comprueba si la cadena contiene la subcadena proporcionada. | MemoContains(<CADENA>, <CADENA>) | MemoContains("string", "str") |
| Right | Toma una cadena y devuelve los caracteres situados más a la derecha según se haya especificado. | Right(<CADENA>, <NÚMERO>) | Right ("Subcadena", 3) |
| Smart | Devuelve la cadena con la primera letra de cada palabra en mayúscula. | Smart(<STRING>) | Smart("hello world") |
| Substring | Tome una cadena y devuelve una parte de la cadena proporcionada, en función de las posiciones dadas. | Substring(<STRING>, <LEFT_NUMBER>, RIGHT_NUMBER>) | Substring("Substring", 3, 5) |
| Sha256Digest | Convierte la cadena con hash SHA256 en su representación hexadecimal. | Sha256Digest(<CADENA>) | Sha256Digest("cadena") |
| Sha512Digest | Convierte la cadena con hash SHA512 en su representación hexadecimal. | Sha512Digest(<CADENA>) | Sha512Digest("cadena") |
| ToString | Devuelve el valor en forma de cadena. | ToString(<VALOR>) | ToString(123) |
| table 0-row-4 1-row-4 2-row-4 3-row-4 4-row-4 5-row-4 6-row-4 7-row-4 8-row-4 9-row-4 10-row-4 11-row-4 12-row-4 13-row-4 14-row-4 15-row-4 16-row-4 17-row-4 18-row-4 19-row-4 20-row-4 | |||
|---|---|---|---|
| Nombre | Descripción | Sintaxis | Ejemplo |
| AllNonNull2 | Toma dos cadenas y comprueba si todas ellas no son nulas y no están vacías. | AllNonNull2(<STRING>, <STRING>) | AllNonNull2("", "string2") |
| AllNonNull3 | Toma tres cadenas y comprueba si todas son nulas y no están vacías | AllNonNull3(<STRING>, <STRING>, <STRING>) | AllNonNull3("", "uno", "tres") |
| Char | Toma una matriz de puntos de código Unicode y devuelve la cadena resultante. | Char(<ARRAY>) | Char([65, 68, 79, 66, 69]) |
| Charindex | Busca la primera aparición de la subcadena especificada dentro de la cadena principal. | Charindex(<CADENA>, <SUBCADENA>) | Charindex ("bar@example.com", "@") |
| dataLength | Devuelve el número de bytes de la cadena. | dataLength(<STRING>) | dataLength("Mi cadena") |
| GetLine | Devuelve la línea solicitada de la cadena proporcionada. | GetLine(<STRING>, <NUMBER>) | GetLine(multilinestring, 5) |
| IfEquals | Toma cuatro cadenas y devuelve la tercera cadena si las dos primeras cadenas son iguales y devuelve la cuarta cadena si las dos primeras cadenas no son iguales. | IfEquals(<STRING>, <STRING>, <STRING>, <STRING>) | IfEquals("a", "a", "sí", "no") |
| IsMemoNull | Devuelve 1 si la cadena es nula; en caso contrario, devuelve 0. | IsMemoNull(<STRING>) | IsMemoNull("hello") |
| JuxtWords | Toma dos cadenas y las combina en una sola. Si es necesario, se añaden espacios entre las cadenas. | JuxtWords(<STRING>, <STRING>) | JuxtWords("Hello", "World") |
| JuxtWords3 | Toma tres cadenas y las combina en una sola. Si es necesario, se añaden espacios entre las cadenas. | JuxtWords3(<STRING>, <STRING>, <STRING>) | JuxtWords3("Hola", "Nuevo", "Mundo") |
| Left | Toma una cadena y devuelve los caracteres situados más a la izquierda según se haya especificado. | Left(<STRING>, <NUMBER>) | Left("Substring", 3) |
| Length | Devuelve la longitud de la cadena. | Length(<STRING>) | Length("MyString") |
| Line | Devuelve la línea numerada especificada de la cadena. | Line(<STRING>, <NUMBER>) | Línea(multilinestring, 5) |
| Md5Digest | Convierte la cadena con hash MD5 en su representación hexadecimal. | Md5Digest(<STRING>) | Md5Digest("String") |
| Replace | Toma una cadena y reemplaza todas las instancias de la subcadena con una subcadena de reemplazo. | Replace(<CADENA>, <CADENA>, <CADENA>) | Replace("Capitán Steve", "Capitán", "Ingeniero") |
| Right | Toma una cadena y devuelve los caracteres situados más a la derecha según se haya especificado. | Right(<CADENA>, <NÚMERO>) | Right ("Subcadena", 3) |
| Sha256Digest | Convierte la cadena con hash SHA256 en su representación hexadecimal. | Sha256Digest(<CADENA>) | Sha256Digest("cadena") |
| Sha512Digest | Convierte la cadena con hash SHA512 en su representación hexadecimal. | Sha512Digest(<CADENA>) | Sha512Digest("cadena") |
| Smart | Devuelve la cadena con la primera letra de cada palabra en mayúscula. | Smart(<STRING>) | Smart("hello world") |
| ToString | Devuelve el valor en forma de cadena. | ToString(<VALOR>) | ToString(123) |
Ventana
| table 0-row-4 1-row-4 2-row-4 3-row-4 4-row-4 | |||
|---|---|---|---|
| Nombre | Descripción | Sintaxis | Ejemplo |
| RowNum | Devuelve una secuencia de filas basada en la partición de tabla y la secuencia de ordenación. | RowNum(PartitionBy(<EXPRESSION>), OrderBy(<EXPRESSION>)) | RowNum(PartitionBy(división), OrderBy(tiempo)) |
| PartitionBy | Separa las filas de entrada en diferentes particiones, según la expresión dada. | PartitionBy(<EXPRESSION>) | PartitionBy(división) |
| OrderBy | Ordena el resultado de la partición. | OrderBy(<EXPRESSION>) | OrderBy(age) |
| Desc | Permite ordenar OrderBy en orden descendente, en lugar de en orden ascendente. | Desc(OrderBy(<EXPRESSION>)) | Desc(OrderBy(age)) |
| table 0-row-4 1-row-4 2-row-4 3-row-4 4-row-4 | |||
|---|---|---|---|
| Nombre | Descripción | Sintaxis | Ejemplo |
| RowNum | Devuelve una secuencia de filas basada en la partición de tabla y la secuencia de ordenación. | RowNum(PartitionBy(<EXPRESSION>), OrderBy(<EXPRESSION>)) | RowNum(PartitionBy(división), OrderBy(tiempo)) |
| PartitionBy | Separa las filas de entrada en diferentes particiones, según la expresión dada. | PartitionBy(<EXPRESSION>) | PartitionBy(división) |
| OrderBy | Ordena el resultado de la partición. | OrderBy(<EXPRESSION>) | OrderBy(age) |
| Desc | Permite ordenar OrderBy en orden descendente, en lugar de en orden ascendente. | Desc(OrderBy(<EXPRESSION>)) | Desc(OrderBy(age)) |