

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Funzioni di data e ora
<a name="sql-functions-date"></a>

 Le funzioni di data e ora funzionano con date e ore. Queste funzioni consentono l'estrazione di componenti specifici di una data, l'esecuzione di calcoli e la manipolazione dei valori di data.

Gli identificatori consentiti in queste funzioni sono:
+ ANNO
+ MESE
+ GIORNO
+ ORA
+ MINUTO
+ SECOND


|  **Funzione**  |  **Firma**  |  **Descrizione**  | 
| --- | --- | --- | 
| `NOW` |  ADESSO ()  | Restituisce il timestamp corrente con precisione in millisecondi. Fornisce l'ora esatta nel momento in cui viene eseguita all'interno di una query. | 
| `DATE_ADD` | DATE\_ADD (identifier, interval\_duration, colonna) | Restituisce la somma di un intervallo e un numero di intervalli. date/time days/hours, or of a date/time and date/time | 
| `DATE_SUB` | DATE\_SUB (identifier, interval\_duration, colonna) | Restituisce la differenza tra un intervallo e un numero. date/time days/hours, or between a date/time and date/time | 
| `TIMESTAMP_ADD` | TIMESTAMP\_ADD (identifier, interval\_duration, colonna) | Aggiunge un intervallo di tempo, nelle unità di tempo specificate, a un'espressione datetime. | 
| `TIMESTAMP_SUB` | TIMESTAMP\_SUB (identifier, interval\_duration, colonna) | Sottrae un intervallo di tempo, nelle unità di tempo specificate, da un'espressione datetime. | 
| `CAST` | CAST (espressione AS modello TIMESTAMP FORMAT) | Converte un'espressione stringa in un timestamp utilizzando il modello di formato specificato. I modelli più comuni includono il formato `'yyyy-MM-dd HH:mm:ss'` datetime standard. Ad esempio, `SELECT CAST('2023-12-25 14:30:00' AS TIMESTAMP) AS converted_timestamp` | 

**Example di una query SQL utilizzando le funzioni elencate:**  

```
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
```