

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

# Funciones escalares
<a name="sql-functions-scalar"></a>

 Las funciones escalares toman uno o más valores de entrada y devuelven un único valor de salida. Se utilizan ampliamente en SQL (lenguaje de consulta estructurado) para la manipulación y recuperación de datos, lo que mejora la eficiencia de las tareas de procesamiento de datos. 

**Topics**
+ [Funciones de datos nulos](sql-functions-null.md)
+ [Funciones de cadena](sql-functions-string.md)
+ [Funciones matemáticas](sql-functions-math.md)
+ [Funciones de fecha y hora](sql-functions-date.md)
+ [Funciones de conversión de tipos](sql-functions-type-conv.md)

# Funciones de datos nulos
<a name="sql-functions-null"></a>

 Las funciones de datos nulos gestionan o manipulan valores NULOS, que representan la ausencia de un valor. Las funciones permiten sustituirlos por NULLs otros valores, comprobar si un valor es NULO o realizar operaciones que se NULLs gestionen de una forma específica. 


|  **Función**  |  **Signature**  |  **Descripción**  | 
| --- | --- | --- | 
|  `COALESCE`  |   COALESCE (expresión1, expresión2,..., expresiónN)   |  Si todas las expresiones se evalúan como nulas, COALESCE devuelve nulo. Las expresiones deben ser del mismo tipo.  | 

**Example de una función COALESCE**  

```
SELECT COALESCE (l.double_value, 100) AS non_double_value FROM latest_value_time_series AS l LIMIT 1
```

# Funciones de cadena
<a name="sql-functions-string"></a>

 Las funciones de cadena son herramientas integradas que se utilizan para manipular y procesar datos de texto. Permiten tareas como la concatenación, la extracción, el formateo y la búsqueda dentro de cadenas. Estas funciones son esenciales para limpiar, transformar y analizar los datos basados en texto de una base de datos. 


**Funciones de cadena**  

|  **Función**  |  **Signature**  |  **Descripción**  | 
| --- | --- | --- | 
|  `LENGTH`  |   LONGITUD (CADENA)   |  Devuelve la longitud de la cadena.  | 
|  `CONCAT`  |   CONCAT (cadena, cadena)   |  Concatena los argumentos de una cadena.  | 
|  `SUBSTR`  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/iot-sitewise/latest/userguide/sql-functions-string.html)  |  Devuelve uno de los siguientes valores: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/iot-sitewise/latest/userguide/sql-functions-string.html) Utiliza la indexación basada en 1 para el parámetro de inicio.  | 
|  `UPPER`  |   UPPER (cadena)   |  Convierte los caracteres de la cadena de entrada a mayúsculas.  | 
|  `LOWER`  |   INFERIOR (cadena)   |  Convierte los caracteres de la cadena de entrada a minúsculas.  | 
|  `TRIM`  |   TRIM (cadena)   |  Elimina los caracteres de espacio del principio, del final o de ambos lados de la cadena.  | 
|  `LTRIM`  |   LTRIM (cadena)   |  Elimina los caracteres de espacio del principio de la cadena.  | 
|  `RTRIM`  |   RTRIM (cadena)   |  Elimina los caracteres de espacio del final de la cadena.  | 
|  `STR_REPLACE`  |   STR\$1REPLACE (cadena, desde, hasta)   |  Sustituye todas las apariciones de la subcadena especificada por otra subcadena especificada.  | 

Ejemplos de todas las funciones:


|  **Función**  |  **Ejemplo**  | 
| --- | --- | 
|  LENGTH  |  `SELECT LENGTH(a.asset_id) AS asset_id_length FROM asset AS a`  | 
|  CONCAT  |   `SELECT CONCAT(p.property_id, p.property_name) FROM asset_property AS p`   | 
|  SUBSTR  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/iot-sitewise/latest/userguide/sql-functions-string.html)  | 
|  UPPER  |   `SELECT UPPER(d.string_value) AS up_string FROM raw_time_series AS d`   | 
|  LOWER  |   `SELECT LOWER(d.string_value) AS low_string FROM raw_time_series AS d`   | 
|  TRIM  |   `SELECT TRIM(d.string_value) AS tm_string FROM raw_time_series AS d`   | 
|  LTRIM  |   `SELECT LTRIM(d.string_value) AS ltrim_string FROM raw_time_series AS d`   | 
|  RTRIM  |   `SELECT RTRIM(d.string_value) AS rtrim_string FROM raw_time_series AS d`   | 
|  STR\$1REPLACE  |   `SELECT STR_REPLACE(d.string_value, 'abc', 'def') AS replaced_string FROM raw_time_series AS d`   | 

## Operador de concatenación
<a name="sql-operators-concatenation"></a>

 El operador de concatenación`||`, u operador de tubería, une dos cadenas. Proporciona una alternativa a la `CONCAT` función y es más legible cuando se combinan varias cadenas.

**Example del operador de concatenación**  

```
SELECT a.asset_name || ' - ' || p.property_name 
  AS full_name
  FROM asset a, asset_property p
```

# Funciones matemáticas
<a name="sql-functions-math"></a>

 Las funciones matemáticas son operaciones matemáticas predefinidas que se utilizan en las consultas SQL para realizar cálculos con datos numéricos. Proporcionan formas de manipular y transformar los datos sin necesidad de extraerlos de la base de datos y procesarlos por separado. 


**Funciones matemáticas**  

|  **Función**  |  **Signature**  |  **Descripción**  | 
| --- | --- | --- | 
|  `POWER`  |  POTENCIA (int\$1double, int\$1double)  |  Devuelve el valor del primer argumento elevado a la potencia del segundo argumento.  | 
|  `ROUND`  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/iot-sitewise/latest/userguide/sql-functions-math.html)  |  Redondea al entero más cercano.  | 
|  `FLOOR`  |   PISO (int\$1double)   |  Devuelve el entero más grande que no sea mayor que el valor dado.  | 

Ejemplos de todas las funciones:


|  **Función**  |  **Ejemplo**  | 
| --- | --- | 
|  POWER  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/iot-sitewise/latest/userguide/sql-functions-math.html)  | 
|  ROUND  |   `ROUND (32.12435, 3)`   | 
|  FLOOR  |   `FLOOR (21.2)`   | 

# Funciones de fecha y hora
<a name="sql-functions-date"></a>

 Las funciones de fecha y hora funcionan con fechas y horas. Estas funciones permiten extraer componentes específicos de una fecha, realizar cálculos y manipular los valores de la fecha.

Los identificadores permitidos en estas funciones son:
+ YEAR
+ MONTH
+ DAY
+ HOUR
+ MINUTE
+ SECOND


|  **Función**  |  **Signature**  |  **Descripción**  | 
| --- | --- | --- | 
|  `NOW`  |   AHORA ()   |  Devuelve la marca de tiempo actual con una precisión de milisegundos. Proporciona la hora exacta en el que se ejecuta en una consulta.  | 
|  `DATE_ADD`  |  DATE\$1ADD (identificador, intervalo de duración, columna)  |  Devuelve la suma de un intervalo date/time y un número. days/hours, or of a date/time and date/time  | 
|  `DATE_SUB`  |  DATE\$1SUB (identificador, duración del intervalo, columna)  |  Devuelve la diferencia entre un intervalo date/time y un número. days/hours, or between a date/time and date/time  | 
|  `TIMESTAMP_ADD`  |  TIMESTAMP\$1ADD (identificador, duración del intervalo, columna)  |  Añade un intervalo de tiempo, en las unidades de tiempo dadas, a una expresión de fecha y hora.  | 
|  `TIMESTAMP_SUB`  |  TIMESTAMP\$1SUB (identificador, intervalo de duración, columna)  |  Resta un intervalo de tiempo, en las unidades de tiempo dadas, de una expresión de fecha y hora.  | 
|  `CAST`  |  CAST (expresión como patrón de formato de marca de tiempo)  |  Convierte una expresión de cadena en una marca de tiempo utilizando el patrón de formato especificado. Los patrones más comunes incluyen el formato `'yyyy-MM-dd HH:mm:ss'` de fecha y hora estándar. Por ejemplo, `SELECT CAST('2023-12-25 14:30:00' AS TIMESTAMP) AS converted_timestamp`  | 

**Example de una consulta SQL mediante las funciones enumeradas:**  

```
SELECT r.asset_id, r.int_value,
  date_add(DAY, 7, r.event_timestamp) AS date_in_future,
  date_sub(YEAR, 2, r.event_timestamp) AS date_in_past,
  timestamp_add(DAY, 2, r.event_timestamp) AS timestamp_in_future,
  timestamp_sub(DAY, 2, r.event_timestamp) AS timestamp_in_past,
  now() AS time_now
FROM raw_time_series AS r
```

# Funciones de conversión de tipos
<a name="sql-functions-type-conv"></a>

 Las funciones de conversión de tipos se utilizan para cambiar el tipo de datos de un valor a otro. Son esenciales para garantizar la compatibilidad de los datos y realizar operaciones que requieren datos en un formato específico. 


|  **Función**  |  **Signature**  |  **Descripción**  | 
| --- | --- | --- | 
|  `TO_DATE`  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/iot-sitewise/latest/userguide/sql-functions-type-conv.html)  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/iot-sitewise/latest/userguide/sql-functions-type-conv.html)  | 
|  `TO_TIMESTAMP`  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/iot-sitewise/latest/userguide/sql-functions-type-conv.html)  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/iot-sitewise/latest/userguide/sql-functions-type-conv.html)  | 
|  `TO_TIME`  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/iot-sitewise/latest/userguide/sql-functions-type-conv.html)  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/iot-sitewise/latest/userguide/sql-functions-type-conv.html)  | 
|  `CAST`  |  CAST (<expression>AS<data type>)  |  Convierte una entidad o expresión que se evalúa en un único valor de un tipo a otro. Los tipos de datos admitidos son: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/iot-sitewise/latest/userguide/sql-functions-type-conv.html)  | 

**Example de una consulta SQL mediante las funciones enumeradas:**  

```
SELECT TO_TIMESTAMP (100) AS timestamp_value,
  TO_DATE(r.event_timestamp) AS date_value,
  TO_TIME(r.event_timestamp) AS time_value
FROM raw_time_series AS r
```