Funzioni Helper

Lo strumento di modifica delle query ti consente di utilizzare funzioni avanzate per eseguire filtri complessi in base ai risultati desiderati e ai tipi di dati manipolati. Sono disponibili le seguenti funzioni:

Aggregato

Le funzioni di aggregazione vengono utilizzate per eseguire calcoli su un insieme di valori.

NomeDescrizioneSintassi
AvgRestituisce la media di una colonna di tipo numericoAvg(<valore>)
ConteggioConta i valori non nulli in una colonnaCount(<valore>)
CountAllConta i valori restituiti (tutti i campi)CountAll()
CountdistinctConta i valori distinti non nulli in una colonnaCountdistinct(<valore>)
MaxRestituisce il valore massimo in una colonna numerica, stringa o dataMax(<valore>)
MinRestituisce il valore minimo in una colonna numerica, stringa o data.Min(<valore>)
StdDevRestituisce la deviazione standard in una colonna numerica, stringa o dataStdDev(<valore>)
AggStringaRestituisce la concatenazione dei valori di una colonna di tipo stringa, separati dal carattere nel secondo argomentoStringAgg(<Valore>, <Stringa>)
SommaRestituisce la somma dei valori in una colonna numerica, stringa o dataSum(<valore>)

Data

Le funzioni di data vengono utilizzate per manipolare i valori di data o ora.

NomeDescrizioneSintassi
AddDaysAggiunge un numero di giorni a una dataAddDays(<data>, <numero>)
AddHoursAggiunge un numero di ore a una dataAddHours(<data>, <numero>)
AddMinutesAggiunge un numero di minuti a una dataAddMinutes(<data>, <numero>)
AddMonthsAggiunge un numero di mesi a una dataAddMonths(<data>, <numero>)
AddSecondsAggiunge un numero di secondi a una dataAddSeconds(<data>, <numero>)
AddYearsAggiunge un numero di anni a una dataAddYears(<data>, <numero>)
ConvertNTZConverte la marca temporale NTZ (marca temporale senza fuso orario) in TZ (marca temporale con fuso orario) applicando la sessione definita TZConvertNTZ (<data+ora>)
CmpDataConfronta due dateDateCmp(<data>,<data>)
DateOnlyRestituisce solo la data (con l’ora su 00.00)*DateOnly(<data>)
DayRestituisce il numero che rappresenta il giorno della dataDay(<data>)
DayOfYearRestituisce un numero del giorno dell’anno della dataDayOfYear(<data>)
DaysAgoRestituisce la data corrispondente alla data corrente meno n giorniDaysAgo(<numero>)
DaysAgoIntRestituisce la data corrispondente (numero intero aaaammgg) alla data corrente meno n giorniDaysAgoInt(<numero>)
DaysDiffNumero di giorni tra due dateDaysDiff(<data di fine>, <data di inizio>)
DaysOldRestituisce l’età in giorni di una dataDaysOld(<data>)
GetDateRestituisce la data di sistema corrente del serverGetDate()
HourRestituisce l’ora della dataHour(<data>)
HoursDiffRestituisce il numero di ore tra due dateHoursDiff(<data di fine>, <data di inizio>)
MinuteRestituisce i minuti della dataMinute(<data>)
MinutesDiffRestituisce il numero di minuti tra due dateMinutesDiff(<data di fine>, <data di inizio>)
MonthRestituisce il numero che rappresenta il mese della dataMonth(<data>)
MonthsAgoRestituisce la data corrispondente alla data corrente meno n mesiMonthsAgo(<numero>)
MonthsDiffRestituisce il numero di mesi tra due dateMonthsDiff(<data di fine>, <data di inizio>)
MonthsOldRestituisce l’età in mesi di una dataMonthsOld(<data>)
OldestRestituisce la data meno recente in un intervalloOldest (<data, data>)
SecondRestituisce i secondi della dataSecond(<data>)
SecondsDiffRestituisce il numero di secondi tra due dateSecondsDiff(<data di fine>, <data di inizio>)
SubDaysSottrae un numero di giorni da una dataSubDays(<data>, <numero>)
SubHoursSottrae un numero di ore da una dataSubHours(<data>, <numero>)
SubMinutesSottrae un numero di minuti da una dataSubMinutes(<data>, <numero>)
SubMonthsSottrae un numero di mesi da una dataSubMonths(<data>, <numero>)
SubSecondsSottrae un numero di secondi da una dataSubSeconds(<data>, <numero>)
SubYearsSottrae un numero di anni da una dataSubYears(<data>, <numero>)
ToDateConverte una data + ora in una dataToDate(<data + ora>)
ToDateTimeConverte una stringa in una data + oraToDateTime(<stringa>)
ATimestampConverte una stringa in una marca temporaleToTimestamp(<stringa>)
ToTimeZoneConvertire una data + ora in fuso orarioToTimeZone(<data>,<fuso orario>)
TruncDateArrotonda una data+ora al secondo più vicinoTruncDate(@lastModified, <numero di secondi>)
TruncDateTZArrotonda una data + ora a una determinata precisione, espressa in secondiTruncDateTZ(<data>, <numero di secondi>, <fuso orario>)
TruncQuarterArrotonda una data al trimestreTruncQuarter(<data>)
TruncTimeArrotonda la parte dell’ora al secondo più vicinoTruncTime(<data>, <numero di secondi>)
TruncWeekArrotonda una data alla settimanaTruncWeek(<data>)
TruncYearArrotonda una data + ora al 1° gennaio dell’annoTruncYear(<data>)
WeekDayRestituisce un numero che rappresenta il giorno della settimana della data (0=lunedì, 6=domenica)WeekDay(<data>)
YearRestituisce il numero che rappresenta l’anno della dataYear(<data>)
YearAnd MonthRestituisce il numero che rappresenta l’anno e il mese della dataYearAndMonth(<data>)
YearsAgoRestituisce il numero di anni tra una data specificata e la data correnteYearsAgo(<data>)
YearsDiffRestituisce il numero di anni tra le due dateYearsDiff(<data di fine>, <data di inizio>)
YearsOldRestituisce l’età in anni di una dataYearsOld(<data>)
NOTE
Tieni presente che la funzione Dateonly tiene conto del fuso orario del server, non di quello dell’operatore.

Geomarketing

Le funzioni di geomarketing vengono utilizzate per manipolare i valori geografici.

NomeDescrizioneSintassi
DistanceRestituisce la distanza tra due punti definiti da longitudine e latitudine espressa in gradi.Distance(<Longitudine A>, <Latitudine A>, <Longitudine B>, <Latitudine B>)

Numerico

Le funzioni numeriche vengono utilizzate per convertire il testo in numeri.

NomeDescrizioneSintassi
AbsRestituisce il valore assoluto di un numeroAbs(<numero>)
CeilRestituisce il numero intero più piccolo maggiore o uguale a un numeroCeil(<numero>)
FloorRestituisce il numero intero maggiore o uguale a un numeroFloor(<numero>)
GreatestRestituisce il numero maggiore tra due numeriGreatest(<numero 1>, <numero 2>)
LeastRestituisce il minore tra due numeriLeast(<numero 1>, <numero 2>)
ModRestituisce il resto della divisione del numero intero da n1 per n2Mod(<numero 1>, <numero 2>)
PercentRestituisce il rapporto tra due numeri espresso come percentualePercent(<numero 1>, <numero 2>)
RandomRestituisce il valore casualeRandom()
RoundArrotonda un numero a n decimaliRound(<numero>, <numero di decimali>)
SignRestituisce il segno del numeroSign(<numero>)
ToDoubleConverte un numero intero in un numero in virgola mobileToDouble(<numero>)
ToInt64Converte un numero in virgola mobile in un numero intero a 64 bitToInt64(<numero>)
ToIntegerConverte un numero in virgola mobile in un numero interoToInteger(<numero>)
TruncTronca n1 a n2 decimaliTrunc(<n1>, <n2>)

Altri

Questa tabella contiene le altre funzioni disponibili.

NomeDescrizioneSintassi
AESEncryptStringa di crittografia fornita nell'argomentoAESEncrypt(<valore>)
CaseRestituisce il valore 1 se la condizione è vera. In caso contrario, restituisce il valore 2.Case(When(<condizione>, <valore 1>), Else(<valore 2>))
ClearBitElimina il contrassegno nel valoreClearBit(<identificatore>, <contrassegno>)
CoalesceRestituisce il valore 2 se il valore 1 è zero o nullo, altrimenti restituisce il valore 1Coalesce(<valore 1>, <valore 2>)
DecodeRestituisce il valore 3 se il valore 1 = al valore 2. In caso contrario, restituisce il valore 4.Decode(<valore 1>, <valore 2>, <valore 3>, <valore 4>)
ElseRestituisce il valore 1 (può essere utilizzato solo come parametro della funzione Case)Else(<valore 1>, <valore 2>)
GetEmailDomainEstrae il dominio da un indirizzo e-mailGetEmailDomain(<valore>)
GetMirrorURLRecupera l’URL del server della pagina mirrorGetMirrorURL(<valore>)
IifRestituisce il valore 1 se l’espressione è vera. In caso contrario, restituisce il valore 2Iif(<condizione>, <valore 1>, <valore 2>)
IsBitSetIndica se il contrassegno si trova nel valoreIsBitSet(<identificatore>, <contrassegno>)
IsEmptyStringRestituisce il valore 2 se la stringa è vuota, altrimenti restituisce il valore 3IsEmptyString(<valore 1>, <valore 2>, <valore 3>)
NuovoUUIDRestituisce un ID univocoNewUUID()
NoNullRestituisce la stringa vuota se l’argomento è NULLNoNull(<valore>)
RowIdRestituisce il numero di rigaRowId
SetBitForza il contrassegno nel valoreSetBit(<identificatore>, <contrassegno>)
ToBooleanConverte un numero in booleanoToBoolean(<numero>)
WhenRestituisce il valore 1 se l’espressione è vera. In caso contrario, restituisce il valore 2 (può essere utilizzato solo come parametro della funzione Case)When(<condizione>, <valore 1>)

Stringa

Le funzioni di stringa vengono utilizzate per manipolare un insieme di stringhe.

NomeDescrizioneSintassi
AllNonNull2Indica se tutti i parametri non sono nulli e non sono vuotiAllNonNull2(<stringa>, <stringa>)
AllNonNull3Indica se tutti i parametri non sono nulli e non sono vuotiAllNonNull3(<stringa>, <stringa>, <stringa>)
AsciiRestituisce il valore ASCII del primo carattere della stringaAscii(<stringa>)
CharRestituisce il carattere corrispondente al codice ASCII “n”Char(<numero>)
CharindexRestituisce la posizione della stringa 2 nella stringa 1.Charindex(<stringa>, <stringa>)
dataLengthRestituisce la dimensione in byte della stringadataLength(<stringa>)
GetLineRestituisce l’ennesima riga (da 1 a n) della stringaGetLine(<stringa>)
IfEqualsRestituisce il terzo parametro se i primi due parametri sono uguali. In caso contrario, restituisce l’ultimo parametroIfEquals(<stringa>, <stringa>, <stringa>, <stringa>)
IsMemoNullIndica se il promemoria passato come parametro è nulloIsMemoNull(<promemoria>)
JuxtWordsConcatena le stringhe passate come parametri. Se necessario, aggiunge spazi tra le stringhe.JuxtWords(<stringa>, <stringa>)
JuxtWords3Concatena le stringhe passate come parametri. Se necessario, aggiunge spazi tra le stringheJuxtWords3(<stringa>, <stringa>, <stringa>)
LeftRestituisce i primi n caratteri della stringaLeft(<stringa>, <numero>)
LengthRestituisce la lunghezza della stringaLength(<stringa>)
RigaEstrai riga n dalla stringaLine(<stringa>,<numero>)
LowerRestituisce la stringa in caratteri minuscoliLower(<stringa>)
LPadRestituisce la stringa completata a sinistraLPad (<Stringa>, <Numero>, <Carattere>)
LtrimRimuove gli spazi a sinistra della stringaLtrim(<stringa>)
Md5DigestRestituisce una rappresentazione esadecimale della chiave MD5 di una stringaMd5Digest(<stringa>)
MemoContainsSpecifica se il promemoria contiene la stringa passata come parametroMemoContains(<promemoria>, <stringa>)
ValoreNodoEstrae il valore di un campo XML dal relativo XPath e dai dati del campoNodeValue (<Stringa>, <Stringa>)
ReplaceSostituisce tutte le occorrenze di un valore di stringa specificato con un altro valore di stringa.Replace(<Stringa>,<Stringa>,<Stringa>)
RightRestituisce gli ultimi n caratteri della stringaRight(<stringa>)
RPadRestituisce la stringa completata a destraRPad(<stringa>, <numero>, <carattere>)
RtrimRimuove gli spazi a destra della stringaRtrim(<stringa>)
Sha256DigestRappresentazione esadecimale della chiave SHA256 di una stringa.Sha256Digest (<Stringa>)
Sha512DigestRappresentazione esadecimale della chiave SHA512 di una stringa.Sha512Digest (<Stringa>)
SmartRestituisce la stringa con la prima lettera di ciascuna parola in maiuscoloSmart(<stringa>)
SubstringEstrae la stringa secondaria a partire dal carattere n1 della stringa e con una lunghezza n2Substring(<stringa>, <offset>, <lunghezza>)
ToStringConverte il numero in una stringaToString(<numero>, <numero>)
UpperRestituisce la stringa in caratteri maiuscoliUpper(<stringa>)
VirtualLinkRestituisce la chiave esterna di un collegamento passato come parametro se gli altri due parametri sono ugualiVirtualLink(<numero>, <numero>, <numero>)
VirtualLinkStrRestituisce la chiave esterna (testo) di un collegamento passato come parametro se gli altri due parametri sono ugualiVirtualLinkStr(<stringa>, <numero>, <numero>)