Modificare le espressioni expression
La modifica di un’espressione comporta l’immissione manuale di condizioni per formare una regola. Questa modalità ti consente di utilizzare funzioni avanzate, che ti consentono di manipolare i valori utilizzati per eseguire query specifiche come la manipolazione di date, stringhe, campi numerici, ordinamenti, ecc.
Utilizzare l’editor di espressioni edit
L'editor espressioni è disponibile dal pulsante Modifica espressione del modellatore di query, disponibile per i campi Attributo e Valore durante la configurazione di una condizione personalizzata.
L’editor di espressioni mostra:
- Un campo di input (1) in cui è definita l'espressione.
- Elenco dei campi (2) disponibili che possono essere utilizzati nell'espressione e corrispondenti allo schema della query, noto anche come dimensione di targeting.
- Funzioni helper (3), ordinate per categoria.
Modifica l’espressione immettendo un’espressione direttamente nel campo di input. Per aggiungere un campo o una funzione helper, posiziona il cursore nell’espressione nel punto in cui desideri aggiungerla e fai clic sul pulsante +.
Quando l'espressione è pronta, fare clic sul pulsante Conferma. L’espressione viene visualizzata nel campo selezionato. Per modificarlo, apri l’editor di espressioni e apporta le modifiche desiderate.
L'esempio seguente mostra un'espressione configurata per il campo Value. Per modificarlo, è necessario aprire l'editor espressioni utilizzando il pulsante Modifica espressione.
Funzioni Helper
Lo strumento di modifica delle query consente di utilizzare funzioni avanzate per eseguire filtri complessi a seconda dei risultati desiderati e dei tipi di dati gestiti. Sono disponibili le seguenti funzioni:
Data
Le funzioni di data vengono utilizzate per manipolare i valori di data o ora.
| 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 | |||
|---|---|---|---|
| Nome | Descrizione | Sintassi | Esempio |
| AddYears | Aggiunge il numero di anni specificato al datetime specificato. | AddYears(<DATETIME>, <NUMERO>) | AddYears("2019-12-25 15:30:00", 3) |
| AddMonths | Aggiunge il numero di mesi specificato al datetime specificato. | AddMonths(<DATETIME>, <NUMERO>) | AddMonths("2019-12-25 15:30:00", 6) |
| AddDays | Aggiunge il numero di giorni specificato al datetime specificato. | AddDays(<DATETIME>, <NUMERO>) | AddDays("2019-12-25 15:30:00", 10) |
| AddHours | Aggiunge il numero di ore specificato al datetime specificato. | AddHours(<DATETIME>, <NUMERO>) | AddHours("2019-12-25 15:30:00", 3) |
| AddMinutes | Aggiunge il numero di minuti specificato al datetime specificato. | AddMinutes(<DATETIME>, <NUMERO>) | AddMinutes("2019-12-25 15:30:00", 32) |
| AddSeconds | Aggiunge il numero di secondi specificato al datetime specificato. | AddSeconds(<DATETIME>, <NUMERO>) | AddSeconds("2019-12-25 15:30:00", 37) |
| SubYears | Sottrae il numero di anni specificato al datetime specificato. | SubYears(<DATETIME>, <NUMERO>) | SubYears("2019-12-25 15:30:00", 3) |
| SubMonths | Sottrae il numero di mesi specificato alla data/ora specificata. | SubMonths(<DATETIME>, <NUMERO>) | SubMonths("2019-12-25 15:30:00", 6) |
| SubDays | Sottrae il numero di giorni specificato al datetime specificato. | SubDays(<DATETIME>, <NUMERO>) | SubDays("2019-12-25 15:30:00", 10) |
| SubHours | Sottrae il numero di ore specificato al datetime specificato. | SubHours(<DATETIME>, <NUMERO>) | SubHours("2019-12-25 15:30:00", 3) |
| SubMinutes | Sottrae il numero di minuti specificato al datetime specificato. | SubMinutes(<DATETIME>, <NUMERO>) | SubMinutes("2019-12-25 15:30:00", 32) |
| SubSeconds | Sottrae il numero di secondi specificato al datetime specificato. | SubSeconds(<DATETIME>, <NUMERO>) | SubSeconds("2019-12-25 15:30:00", 37) |
| Year | Estrae l'anno dall'oggetto datetime specificato. | Year(<DATETIME>) | Year("2019-12-15 15:30:00") |
| Month | Estrae il mese dall'oggetto datetime specificato. | Month(<DATAORA>) | Mese("2019-12-15 15:30:00") |
| Day | Estrae il giorno dall'oggetto datetime specificato. | Day(<DATETIME>) | Day("2019-12-15 15:30:00") |
| DayOfYear | Estrae il giorno dell'anno dall'oggetto datetime specificato. Ad esempio, se il valore datetime fornito è il 2 febbraio, restituirà 33. | DayOfYear(<DATETIME>) | DayOfYear("2019-12-15 15:30:00") |
| WeekDay | Estrae il giorno della settimana dall'oggetto datetime specificato, come numero compreso tra 0 e 6, con 0 che rappresenta la domenica. | Year(<DATETIME>) | Year("2019-12-15 15:30:00") |
| Hour | Estrae il valore dell'ora dall'oggetto datetime specificato. | Year(<DATETIME>) | Year("2019-12-15 15:30:00") |
| Minute | Estrae il valore del minuto dall'oggetto datetime specificato. | Year(<DATETIME>) | Year("2019-12-15 15:30:00") |
| Second | Estrae il secondo valore dall'oggetto datetime specificato. | Year(<DATETIME>) | Year("2019-12-15 15:30:00") |
| YearsDiff | Trova la differenza tra le date specificate, con una granularità di anni. | YearsDiff(<DATETIME>, <DATETIME>) | YearsDiff("2019-12-25 15:30:00", "2018-10-14 18:35:27") |
| MonthsDiff | Trova la differenza tra le date specificate, con una granularità di mesi. | MonthsDiff(<DATAORA>, <DATAORA>) | MonthsDiff("2019-12-25 15:30:00", "2018-10-14 18:35:27") |
| DaysDiff | Trova la differenza tra le date specificate, con una granularità di giorni. | DaysDiff(<DATETIME>, <DATETIME>) | DaysDiff("2019-12-25 15:30:00", "2018-10-14 18:35:27") |
| HoursDiff | Trova la differenza tra le date specificate, con una granularità di ore. | HoursDiff(<DATETIME>, <DATETIME>) | HoursDiff("2019-12-25 15:30:00", "2018-10-14 18:35:27") |
| MinutesDiff | Trova la differenza tra le date specificate, con una granularità di minuti. | MinutesDiff(<DATETIME>, <DATETIME>) | MinutesDiff("2019-12-25 15:30:00", "2018-10-14 18:35:27") |
| SecondsDiff | Trova la differenza tra le date specificate, con una granularità di secondi. | SecondsDiff(<DATETIME>, <DATETIME>) | SecondsDiff("2019-12-25 15:30:00", "2018-10-14 18:35:27") |
| YearsOld | Trova la differenza tra il datetime specificato e il presente, con una granularità di anni. | YearsOld(<DATETIME>) | YearsOld("2019-12-25 15:30:00") |
| MonthsOld | Trova la differenza tra il dato datetime e il presente, con una granularità di mesi. | MonthsOld(<DATAORA>) | MonthsOld("2019-12-25 15:30:00") |
| DaysOld | Trova la differenza tra il dato datetime e il presente, con una granularità di giorni. | DaysOld(<DATETIME>) | DaysOld("2019-12-25 15:30:00") |
| GetDate | Ottiene la data corrente del server. | GetDate() | GetDate() |
| DateOnly | Tronca il datetime solo all'anno, al mese e al giorno. | DateOnly(<DATETIME>) | DateOnly("2019-12-25 15:30:00") |
| ToDate | Converte il campo in un campo data. | ToDate(<DATETIME>) | ToDate("2019-12-25 15:30:00") |
| ToDateTime | Converte il campo in un campo datetime. | ToDateTime(<DATA>) | ToDateTime("2019-12-25 15:30:00") |
| ATimestamp | Converte il campo in un campo timestamp. | ToTimestamp(<DATETIME>) | ToTimestamp("2019-12-25 15:30:00") |
| Oldest | Restituisce la data meno recente tra i due specificati. | Oldest(<DATAORA>, <DATAORA>) | Oldest("2015-02-13 11:59:59", "2016-04-13 19:28:14") |
| TruncDate | Tronca il datetime all'unità più vicina, in base al valore numerico specificato. Se il valore numerico è uguale a 60, viene troncato al minuto più vicino. Se il valore numerico è uguale a 3600, viene troncato all'ora più vicina. Se il valore numerico è uguale a 86400, viene troncato al giorno più vicino. In caso contrario, viene troncato al secondo più vicino. | TruncDate(<DATETIME>, <NUMERO>) | TruncDate("2016-04-13 19:28:14", 3600) |
| TruncDateTZ | Tronca il datetime all'unità più vicina, in base al valore numerico specificato, e imposta il datetime sul fuso orario specificato. Se il valore numerico è uguale a 60, viene troncato al minuto più vicino. Se il valore numerico è uguale a 3600, viene troncato all'ora più vicina. Se il valore numerico è uguale a 86400, viene troncato al giorno più vicino. | TruncDateTZ(<DATETIME>, <NUMERO>, <FUSO ORARIO>) | TruncDateTZ("2016-04-13 19:28:14", 3600, "America/Los_Angeles") |
| TruncTime | Imposta il valore datetime su 1 gennaio 2000 e arrotonda il resto del valore datetime all'unità più vicina, in base al valore numerico specificato. Se il valore numerico è uguale a 60, viene troncato al minuto più vicino. Se il valore numerico è uguale a 3600, viene troncato all'ora più vicina. | TruncTime(<DATETIME>, <NUMERO>) | TruncTime("2016-04-13 19:28:14", 3600) |
| TruncQuarter | Tronca il datetime alla prima data nel trimestre più vicino. | TruncQuarter(<DATETIME>) | TruncQuarter("2016-04-13 19:28:14") |
| TruncYear | Tronca il datetime alla prima data dell'anno più vicino. | TruncYear(<DATETIME>) | TruncYear("2016-04-13 19:28:14") |
| TruncWeek | Tronca il datetime alla domenica della settimana più vicina. | 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 | |||
|---|---|---|---|
| Nome | Descrizione | Sintassi | Esempio |
| AddYears | Aggiunge il numero di anni specificato al datetime specificato. | AddYears(<DATETIME>, <NUMERO>) | AddYears("2019-12-25 15:30:00", 3) |
| AddMonths | Aggiunge il numero di mesi specificato al datetime specificato. | AddMonths(<DATETIME>, <NUMERO>) | AddMonths("2019-12-25 15:30:00", 6) |
| AddDays | Aggiunge il numero di giorni specificato al datetime specificato. | AddDays(<DATETIME>, <NUMERO>) | AddDays("2019-12-25 15:30:00", 10) |
| AddHours | Aggiunge il numero di ore specificato al datetime specificato. | AddHours(<DATETIME>, <NUMERO>) | AddHours("2019-12-25 15:30:00", 3) |
| AddMinutes | Aggiunge il numero di minuti specificato al datetime specificato. | AddMinutes(<DATETIME>, <NUMERO>) | AddMinutes("2019-12-25 15:30:00", 32) |
| AddSeconds | Aggiunge il numero di secondi specificato al datetime specificato. | AddSeconds(<DATETIME>, <NUMERO>) | AddSeconds("2019-12-25 15:30:00", 37) |
| SubYears | Sottrae il numero di anni specificato al datetime specificato. | SubYears(<DATETIME>, <NUMERO>) | SubYears("2019-12-25 15:30:00", 3) |
| SubMonths | Sottrae il numero di mesi specificato alla data/ora specificata. | SubMonths(<DATETIME>, <NUMERO>) | SubMonths("2019-12-25 15:30:00", 6) |
| SubDays | Sottrae il numero di giorni specificato al datetime specificato. | SubDays(<DATETIME>, <NUMERO>) | SubDays("2019-12-25 15:30:00", 10) |
| SubHours | Sottrae il numero di ore specificato al datetime specificato. | SubHours(<DATETIME>, <NUMERO>) | SubHours("2019-12-25 15:30:00", 3) |
| SubMinutes | Sottrae il numero di minuti specificato al datetime specificato. | SubMinutes(<DATETIME>, <NUMERO>) | SubMinutes("2019-12-25 15:30:00", 32) |
| SubSeconds | AdSottrae il numero di secondi specificato al valore datetime specificato. | SubSeconds(<DATETIME>, <NUMERO>) | SubSeconds("2019-12-25 15:30:00", 37) |
| Year | Estrae l'anno dall'oggetto datetime specificato. | Year(<DATETIME>) | Year("2019-12-15 15:30:00") |
| Month | Estrae il mese dall'oggetto datetime specificato. | Month(<DATAORA>) | Mese("2019-12-15 15:30:00") |
| Day | Estrae il giorno dall'oggetto datetime specificato. | Day(<DATETIME>) | Day("2019-12-15 15:30:00") |
| DayOfYear | Estrae il giorno dell'anno dall'oggetto datetime specificato. Ad esempio, se il valore datetime fornito è il 2 febbraio, restituirà 33. | DayOfYear(<DATETIME>) | DayOfYear("2019-12-15 15:30:00") |
| WeekDay | Estrae il giorno della settimana dall'oggetto datetime specificato, come numero compreso tra 1 e 7, con 1 che rappresenta la domenica. | Year(<DATETIME>) | Year("2019-12-15 15:30:00") |
| Hour | Estrae il valore dell'ora dall'oggetto datetime specificato. | Year(<DATETIME>) | Year("2019-12-15 15:30:00") |
| Minute | Estrae il valore del minuto dall'oggetto datetime specificato. | Year(<DATETIME>) | Year("2019-12-15 15:30:00") |
| Second | Estrae il secondo valore dall'oggetto datetime specificato. | Year(<DATETIME>) | Year("2019-12-15 15:30:00") |
| YearsDiff | Trova la differenza tra le date specificate, con una granularità di anni. | YearsDiff(<DATETIME>, <DATETIME>) | YearsDiff("2019-12-25 15:30:00", "2018-10-14 18:35:27") |
| MonthsDiff | Trova la differenza tra le date specificate, con una granularità di mesi. | MonthsDiff(<DATAORA>, <DATAORA>) | MonthsDiff("2019-12-25 15:30:00", "2018-10-14 18:35:27") |
| DaysDiff | Trova la differenza tra le date specificate, con una granularità di giorni. | DaysDiff(<DATETIME>, <DATETIME>) | DaysDiff("2019-12-25 15:30:00", "2018-10-14 18:35:27") |
| HoursDiff | Trova la differenza tra le date specificate, con una granularità di ore. | HoursDiff(<DATETIME>, <DATETIME>) | HoursDiff("2019-12-25 15:30:00", "2018-10-14 18:35:27") |
| MinutesDiff | Trova la differenza tra le date specificate, con una granularità di minuti. | MinutesDiff(<DATETIME>, <DATETIME>) | MinutesDiff("2019-12-25 15:30:00", "2018-10-14 18:35:27") |
| SecondsDiff | Trova la differenza tra le date specificate, con una granularità di secondi. | SecondsDiff(<DATETIME>, <DATETIME>) | SecondsDiff("2019-12-25 15:30:00", "2018-10-14 18:35:27") |
| MonthsOld | Trova la differenza tra il dato datetime e il presente, con una granularità di mesi. | MonthsOld(<DATAORA>) | MonthsOld("2019-12-25 15:30:00") |
| DaysOld | Trova la differenza tra il dato datetime e il presente, con una granularità di giorni. | DaysOld(<DATETIME>) | DaysOld("2019-12-25 15:30:00") |
| GetDate | Ottiene la data corrente del server. | GetDate() | GetDate() |
| DateOnly | Tronca il datetime solo all'anno, al mese e al giorno. | DateOnly(<DATETIME>) | DateOnly("2019-12-25 15:30:00") |
| ToDate | Converte il campo in un campo data. | ToDate(<DATETIME>) | ToDate("2019-12-25 15:30:00") |
| ToDateTime | Converte il campo in un campo datetime. | ToDateTime(<DATA>) | ToDateTime("2019-12-25 15:30:00") |
| ATimestamp | Converte il campo in un campo timestamp. | ToTimestamp(<DATETIME>) | ToTimestamp("2019-12-25 15:30:00") |
| Oldest | Restituisce la data meno recente tra i due specificati. | Oldest(<DATAORA>, <DATAORA>) | Oldest("2015-02-13 11:59:59", "2016-04-13 19:28:14") |
| TruncDate | Tronca il datetime all'unità più vicina, in base al valore numerico specificato. Se il valore numerico è uguale a 60, viene troncato al minuto più vicino. Se il valore numerico è uguale a 3600, viene troncato all'ora più vicina. Se il valore numerico è uguale a 86400, viene troncato al giorno più vicino. In caso contrario, viene troncato al secondo più vicino. | TruncDate(<DATETIME>, <NUMERO>) | TruncDate("2016-04-13 19:28:14", 3600) |
| TruncDateTZ | Tronca il datetime all'unità più vicina, in base al valore numerico specificato, e imposta il datetime sul fuso orario specificato. Se il valore numerico è uguale a 60, viene troncato al minuto più vicino. Se il valore numerico è uguale a 3600, viene troncato all'ora più vicina. Se il valore numerico è uguale a 86400, viene troncato al giorno più vicino. | TruncDateTZ(<DATETIME>, <NUMERO>, <FUSO ORARIO>) | TruncDateTZ("2016-04-13 19:28:14", 3600, "America/Los_Angeles") |
| TruncTime | Imposta il valore datetime su 1 gennaio 2000 e arrotonda il resto del valore datetime all'unità più vicina, in base al valore numerico specificato. Se il valore numerico è uguale a 60, viene troncato al minuto più vicino. Se il valore numerico è uguale a 3600, viene troncato all'ora più vicina. | TruncTime(<DATETIME>, <NUMERO>) | TruncTime("2016-04-13 19:28:14", 3600) |
| TruncQuarter | Tronca il datetime alla prima data nel trimestre più vicino. | TruncQuarter(<DATETIME>) | TruncQuarter("2016-04-13 19:28:14") |
| TruncYear | Tronca il datetime alla prima data dell'anno più vicino. | TruncYear(<DATETIME>) | TruncYear("2016-04-13 19:28:14") |
| TruncWeek | Tronca il datetime alla domenica della settimana più vicina. | TruncWeek(<DATETIME>) | TruncWeek("2016-04-13 19:28:14") |
| ConvertNTZ | Converte una marca temporale senza fuso orario in una marca temporale con fuso orario. Il fuso orario associato sarà quello dell’account esterno. | ConvertNTZ(<DATETIME>) | ConvertNTZ("2024-06-24 14:43:49") |
Geomarketing
Le funzioni di geomarketing vengono utilizzate per manipolare i valori geografici.
| table 0-row-4 1-row-4 | |||
|---|---|---|---|
| Nome | Descrizione | Sintassi | Esempio |
| Distance | Restituisce la distanza tra due punti definiti da longitudine e latitudine in gradi, sotto forma di doppio. | Distance(<NUMERO>, <NUMERO>, <NUMERO>, <NUMERO>) | Distanza (40,345; 39,2345; -35,5834; 34,599) |
| table 0-row-4 1-row-4 | |||
|---|---|---|---|
| Nome | Descrizione | Sintassi | Esempio |
| Distance | Restituisce la distanza tra due punti definiti da longitudine e latitudine in gradi, sotto forma di doppio. | Distance(<NUMERO>, <NUMERO>, <NUMERO>, <NUMERO>) | Distanza (40,345; 39,2345; -35,5834; 34,599) |
Numeriche
Le funzioni numeriche vengono utilizzate per convertire il testo in numeri.
| 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 | |||
|---|---|---|---|
| Nome | Descrizione | Sintassi | Esempio |
| Mod | Restituisce il resto del primo numero diviso per il secondo numero. | Mod(<NUMERO>, <NUMERO>) | Mod (3, 2) |
| Percent | Calcola la percentuale del primo numero rispetto al secondo numero. | Percentuale(<NUMERO>, <NUMERO>) | Percentuale (1, 2) |
| Random | Restituisce un numero casuale compreso tra 0 (inclusi) e 1 (esclusi). | Random() | Casuale () |
| Round | Restituisce il numero fornito alla cifra decimale richiesta più vicina. | Round(<NUMERO>, <NUMERO>) | Round(4,5394, 2) |
| ToDouble | Converte il numero fornito in un doppio. | ToDouble(<NUMERO>) | ToDouble(5) |
| ToInteger | Converte il numero fornito in un numero intero. | ToInteger(<NUMERO>) | ToInteger(45) |
| ToInt64 | Converte il numero fornito in un numero intero a 64 bit. | ToInt64(<NUMERO>) | ToInt64 (493) |
| Trunc | Tronca il numero fornito al numero richiesto di cifre decimali. | Trunc(<NUMERO>, <NUMERO>) | 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 | |||
|---|---|---|---|
| Nome | Descrizione | Sintassi | Esempio |
| Mod | Restituisce il resto del primo numero diviso per il secondo numero. | Mod(<NUMERO>, <NUMERO>) | Mod (3, 2) |
| Percent | Calcola la percentuale del primo numero rispetto al secondo numero. | Percentuale(<NUMERO>, <NUMERO>) | Percentuale (1, 2) |
| Random | Restituisce un numero casuale compreso tra 0 (inclusi) e 1 (esclusi). | Random() | Casuale () |
| ToDouble | Converte il numero fornito in un doppio. | ToDouble(<NUMERO>) | ToDouble(5) |
| ToInteger | Converte il numero fornito in un numero intero. | ToInteger(<NUMERO>) | ToInteger(45) |
| ToInt64 | Converte il numero fornito in un numero intero a 64 bit. | ToInt64(<NUMERO>) | ToInt64 (493) |
| Trunc | Tronca il numero fornito al numero richiesto di cifre decimali. | Trunc(<NUMERO>, <NUMERO>) | Trunc(36,9348934, 3) |
Altre
Questa tabella contiene le altre funzioni disponibili.
| 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 | |||
|---|---|---|---|
| Nome | Descrizione | Sintassi | Esempio |
| Case | Restituisce il primo valore se l’espressione è true. In caso contrario, restituisce il secondo valore. | Case(When(<ESPRESSIONE> <VALORE>), Else(<VALORE>)) | Case(When(a > b, "yes"), Else("no")) |
| When | Utilizzato come parte della funzione Case. Utilizzato per controllare l’espressione all’interno di Case. | When(<ESPRESSIONE> <VALORE>) | Quando(a > b, "yes") |
| Else | Utilizzato come parte della funzione Case. Utilizzato per scegliere l’altra opzione, se l’espressione When è false. | Else(<VALORE>) | Else ("no") |
| Coalesce | Restituisce il primo valore non nullo. | Coalesce(<VALORE>, <VALORE>) | Coalesce ("", "string") |
| Decode | Restituisce la prima opzione se i valori sono uguali. Restituisce la seconda opzione se i valori non sono uguali. | Decode(<VALORE>, <VALORE>, <VALORE>, <VALORE>) | Decode(1, 2, "true", "false") |
| GetEmailDomain | Estrae il dominio dall’indirizzo e-mail fornito. | GetEmailDomain(<STRINGA>) | GetEmailDomain("sample@example.com") |
| Iif | Restituisce la prima opzione se la condizione è true e restituisce la seconda opzione se la condizione è false. | Iif(<CONDIZIONE>, <VALORE>, <VALORE>) | Iif(10 < 20, "true", "false") |
| IsEmptyString | Restituisce la prima opzione se la stringa è vuota. In caso contrario, restituisce la seconda opzione. | IsEmptyString( <STRINGA> ,<VALORE>, <VALORE>) | IsEmptyString("stringa", "sì", "no") |
| NewUUID | Genera un nuovo UUID univoco. | NewUUID() | NewUUID() |
| NoNull | Restituisce la stringa fornita se non è vuota e restituisce una stringa vuota se la stringa fornita è vuota. | NoNull(<STRINGA>) | NoNull("test") |
| IsBitSet | Esegue una e (&) bit per bit sui numeri forniti. Questo consente di verificare se il bit all’interno del primo parametro è impostato nella posizione fornita nel secondo parametro. | IsBitSet(<NUMERO>, <NUMERO>) | IsBitSet(5, 3) |
| ClearBit | Questo consente di cancellare il bit all’interno del primo parametro nella posizione fornita nel secondo parametro. | ClearBit(<NUMERO>, <NUMERO>) | |
| SetBit | Esegue un o (|) bit per bit sui numeri specificati. Questo consente di impostare il bit all'interno del primo parametro in modo che sia impostato nella posizione specificata nel secondo parametro. | SetBit(<NUMERO>, <NUMERO>) | SetBit(5, 3) |
| RowId | Restituisce il numero di riga. | RowId() | RowId() |
| ToBoolean | Converte il valore in booleano. | ToBoolean(<VALORE>) | 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 | |||
|---|---|---|---|
| Nome | Descrizione | Sintassi | Esempio |
| Case | Restituisce il primo valore se l’espressione è true. In caso contrario, restituisce il secondo valore. | Case(When(<ESPRESSIONE> <VALORE>), Else(<VALORE>)) | Case(When(a > b, "yes"), Else("no")) |
| When | Utilizzato come parte della funzione Case. Utilizzato per controllare l’espressione all’interno di Case. | When(<ESPRESSIONE> <VALORE>) | Quando(a > b, "yes") |
| Else | Utilizzato come parte della funzione Case. Utilizzato per scegliere l’altra opzione, se l’espressione When è false. | Else(<VALORE>) | Else ("no") |
| GetEmailDomain | Estrae il dominio dall’indirizzo e-mail fornito. | GetEmailDomain(<STRINGA>) | GetEmailDomain("sample@example.com") |
| Iif | Restituisce la prima opzione se la condizione è true e restituisce la seconda opzione se la condizione è false. | Iif(<CONDIZIONE>, <VALORE>, <VALORE>) | Iif(10 < 20, "true", "false") |
| IsEmptyString | Restituisce la prima opzione se la stringa è vuota. In caso contrario, restituisce la seconda opzione. | IsEmptyString( <STRINGA> ,<VALORE>, <VALORE>) | IsEmptyString("stringa", "sì", "no") |
| ToBoolean | Restituisce 1 se il valore è true. Restituisce 0 se il valore è false. | ToBoolean(<VALORE>) | ToBoolean(a=b) |
| ToBooleanType | Converte il valore in booleano. | ToBooleanType(<VALORE>) | ToBooleanType(a=b) |
| IsBitSet | Esegue una e (&) bit per bit sui numeri forniti. Questo consente di verificare se il bit all’interno del primo parametro è impostato nella posizione fornita nel secondo parametro. | IsBitSet(<NUMERO>, <NUMERO>) | IsBitSet(5, 3) |
| ClearBit | Questo consente di cancellare il bit all’interno del primo parametro nella posizione fornita nel secondo parametro. | ClearBit(<NUMERO>, <NUMERO>) | |
| SetBit | Esegue un o (|) bit per bit sui numeri specificati. Questo consente di impostare il bit all'interno del primo parametro in modo che sia impostato nella posizione specificata nel secondo parametro. | SetBit(<NUMERO>, <NUMERO>) | SetBit(5, 3) |
| RowId | Restituisce il numero di riga. | RowId() | RowId() |
| NewUUID | Genera un nuovo UUID univoco. | NewUUID() | NewUUID() |
| NoNull | Restituisce la stringa fornita se non è vuota e restituisce una stringa vuota se la stringa fornita è vuota. | NoNull(<STRINGA>) | NoNull("test") |
| AESEncrypt | Crittografa la stringa fornita con il tipo di crittografia AES. | AESEncrypt() | AESEncrypt("hello") |
| Oggetto | Crea un oggetto in base alle coppie chiave/valore fornite. | ObjectConstruct(<STRINGA>, <STRINGA>) | ObjectConstruct("key", "value") |
Stringa
Le funzioni di stringa vengono utilizzate per manipolare un insieme di stringhe.
| 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 | |||
|---|---|---|---|
| Nome | Descrizione | Sintassi | Esempio |
| AllNonNull2 | Accetta due stringhe e controlla se tutte non sono nulle e non sono vuote. | AllNonNull2(<STRINGA>, <STRINGA>) | AllNonNull2("", "string2") |
| AllNonNull3 | Richiede tre stringhe e verifica se tutte non sono nulle e non sono vuote | AllNonNull3(<STRINGA>, <STRINGA>, <STRINGA>) | AllNonNull3(", "one", "three") |
| Ascii | Prende una stringa e restituisce il risultato . | Ascii(<STRINGA>) | Ascii ("foo") |
| Char | Accetta un array di punti di codice Unicode e restituisce la stringa risultante. | Char(<ARRAY>) | Char([65, 68, 79, 66, 69]) |
| Charindex | Trova la prima occorrenza della sottostringa specificata nella stringa principale. | Charindex(<STRINGA>, <SOTTOSTRINGA>) | Charindex ("bar@example.com", "@") |
| dataLength | Restituisce il numero di byte nella stringa. | dataLength(<STRINGA>) | dataLength("La mia stringa") |
| GetLine | Restituisce la riga richiesta della stringa specificata. | GetLine(<STRINGA>, <NUMERO>) | GetLine(multilinestring, 5) |
| IfEquals | Prende quattro stringhe e restituisce la terza stringa se le prime due stringhe sono uguali e restituisce la quarta stringa se le prime due stringhe non sono uguali. | IfEquals(<STRINGA>, <STRINGA>, <STRINGA>, <STRINGA>) | IfEquals("a", "a", "yes", "no") |
| IsMemoNull | Restituisce 1 se la stringa è null, altrimenti restituisce 0. | IsMemoNull(<STRINGA>) | IsMemoNull("hello") |
| JuxtWords | Prende due stringhe e le combina in una singola stringa. Se necessario, vengono aggiunti spazi tra le stringhe. | JuxtWords(<STRINGA>, <STRINGA>) | JuxtWords("Hello", "World") |
| JuxtWords3 | Prende tre stringhe e le combina in una singola stringa. Se necessario, vengono aggiunti spazi tra le stringhe. | JuxtWords3(<STRINGA>, <STRINGA>, <STRINGA>) | JuxtWords3("Hello", "New", "World") |
| Left | Accetta una stringa e restituisce i caratteri più a sinistra come specificato. | Left(<STRINGA>, <NUMERO>) | Left("Substring", 3) |
| Length | Restituisce la lunghezza della stringa. | Length(<STRINGA>) | Length("MyString") |
| Md5Digest | Converte la stringa con hash MD5 nella relativa rappresentazione esadecimale. | Md5Digest(<STRINGA>) | Md5Digest("Stringa") |
| MemoContains | Controlla se la stringa contiene la sottostringa fornita. | MemoContains(<STRINGA>, <STRINGA>) | MemoContains("string", "str") |
| Right | Prende una stringa e restituisce i caratteri più a destra come specificato. | Right(<STRINGA>, <NUMERO>) | Right ("Substring", 3) |
| Smart | Restituisce la stringa con la prima lettera di ciascuna parola in maiuscolo. | Smart(<STRINGA>) | Smart("hello world") |
| Substring | Prendi una stringa e restituisce una parte della stringa fornita, in base alle posizioni fornite. | Substring(<STRINGA>, <NUMERO_SINISTRO>, NUMERO_DESTRO>) | Substring("Substring", 3, 5) |
| Sha256Digest | Converte la stringa con hash SHA256 nella relativa rappresentazione esadecimale. | Sha256Digest(<STRINGA>) | Sha256Digest("stringa") |
| Sha512Digest | Converte la stringa con hash SHA512 nella relativa rappresentazione esadecimale. | Sha512Digest(<STRINGA>) | Sha512Digest("stringa") |
| ToString | Restituisce il valore come stringa. | ToString(<VALORE>) | 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 | |||
|---|---|---|---|
| Nome | Descrizione | Sintassi | Esempio |
| AllNonNull2 | Accetta due stringhe e controlla se tutte non sono nulle e non sono vuote. | AllNonNull2(<STRINGA>, <STRINGA>) | AllNonNull2("", "string2") |
| AllNonNull3 | Richiede tre stringhe e verifica se tutte non sono nulle e non sono vuote | AllNonNull3(<STRINGA>, <STRINGA>, <STRINGA>) | AllNonNull3(", "one", "three") |
| Char | Accetta un array di punti di codice Unicode e restituisce la stringa risultante. | Char(<ARRAY>) | Char([65, 68, 79, 66, 69]) |
| Charindex | Trova la prima occorrenza della sottostringa specificata nella stringa principale. | Charindex(<STRINGA>, <SOTTOSTRINGA>) | Charindex ("bar@example.com", "@") |
| dataLength | Restituisce il numero di byte nella stringa. | dataLength(<STRINGA>) | dataLength("La mia stringa") |
| GetLine | Restituisce la riga richiesta della stringa specificata. | GetLine(<STRINGA>, <NUMERO>) | GetLine(multilinestring, 5) |
| IfEquals | Prende quattro stringhe e restituisce la terza stringa se le prime due stringhe sono uguali e restituisce la quarta stringa se le prime due stringhe non sono uguali. | IfEquals(<STRINGA>, <STRINGA>, <STRINGA>, <STRINGA>) | IfEquals("a", "a", "yes", "no") |
| IsMemoNull | Restituisce 1 se la stringa è null, altrimenti restituisce 0. | IsMemoNull(<STRINGA>) | IsMemoNull("hello") |
| JuxtWords | Prende due stringhe e le combina in una singola stringa. Se necessario, vengono aggiunti spazi tra le stringhe. | JuxtWords(<STRINGA>, <STRINGA>) | JuxtWords("Hello", "World") |
| JuxtWords3 | Prende tre stringhe e le combina in una singola stringa. Se necessario, vengono aggiunti spazi tra le stringhe. | JuxtWords3(<STRINGA>, <STRINGA>, <STRINGA>) | JuxtWords3("Hello", "New", "World") |
| Left | Accetta una stringa e restituisce i caratteri più a sinistra come specificato. | Left(<STRINGA>, <NUMERO>) | Left("Substring", 3) |
| Length | Restituisce la lunghezza della stringa. | Length(<STRINGA>) | Length("MyString") |
| Line | Restituisce la riga numerata specificata dalla stringa. | Line(<STRINGA>, <NUMERO>) | Line(multilinestring, 5) |
| Md5Digest | Converte la stringa con hash MD5 nella relativa rappresentazione esadecimale. | Md5Digest(<STRINGA>) | Md5Digest("Stringa") |
| Replace | Prende una stringa e sostituisce tutte le istanze della sottostringa con una sottostringa di sostituzione. | Replace(<STRINGA>, <STRINGA>, <STRINGA>) | Replace("Captain Steve", "Captain", "Engineer") |
| Right | Prende una stringa e restituisce i caratteri più a destra come specificato. | Right(<STRINGA>, <NUMERO>) | Right ("Substring", 3) |
| Sha256Digest | Converte la stringa con hash SHA256 nella relativa rappresentazione esadecimale. | Sha256Digest(<STRINGA>) | Sha256Digest("stringa") |
| Sha512Digest | Converte la stringa con hash SHA512 nella relativa rappresentazione esadecimale. | Sha512Digest(<STRINGA>) | Sha512Digest("stringa") |
| Smart | Restituisce la stringa con la prima lettera di ciascuna parola in maiuscolo. | Smart(<STRINGA>) | Smart("hello world") |
| ToString | Restituisce il valore come stringa. | ToString(<VALORE>) | ToString(123) |
Finestra
| table 0-row-4 1-row-4 2-row-4 3-row-4 4-row-4 | |||
|---|---|---|---|
| Nome | Descrizione | Sintassi | Esempio |
| RowNum | Restituisce una sequenza di righe in base alla partizione della tabella e alla sequenza di ordinamento. | RowNum(PartitionBy(<ESPRESSIONE>), OrderBy(<ESPRESSIONE>)) | RowNum(PartitionBy(division), OrderBy(time)) |
| PartitionBy | Separa le righe di input in diverse partizioni, in base all'espressione specificata. | PartitionBy(<ESPRESSIONE>) | PartitionBy(division) |
| OrderBy | Ordina il risultato della partizione. | OrderBy(<ESPRESSIONE>) | OrderBy(age) |
| Desc | Consente di ordinare OrderBy in ordine decrescente, anziché crescente. | Desc(OrderBy(<ESPRESSIONE>)) | Desc(OrderBy(age)) |
| table 0-row-4 1-row-4 2-row-4 3-row-4 4-row-4 | |||
|---|---|---|---|
| Nome | Descrizione | Sintassi | Esempio |
| RowNum | Restituisce una sequenza di righe in base alla partizione della tabella e alla sequenza di ordinamento. | RowNum(PartitionBy(<ESPRESSIONE>), OrderBy(<ESPRESSIONE>)) | RowNum(PartitionBy(division), OrderBy(time)) |
| PartitionBy | Separa le righe di input in diverse partizioni, in base all'espressione specificata. | PartitionBy(<ESPRESSIONE>) | PartitionBy(division) |
| OrderBy | Ordina il risultato della partizione. | OrderBy(<ESPRESSIONE>) | OrderBy(age) |
| Desc | Consente di ordinare OrderBy in ordine decrescente, anziché crescente. | Desc(OrderBy(<ESPRESSIONE>)) | Desc(OrderBy(age)) |