Funzioni di cast del tipo di dati date2string ( date_expression ) Restituisce una stringa con la data in formato AAAA-MM-GG. time2string ( time_expression ) Restituisce una stringa con l'ora in formato HH:MM:SS.FFF. timeTZ2string ( timeTZ_expression ) Restituisce un'ora con il fuso orario come stringa in formato HH:MM:SS.FFF +HHMM o HH:MM:SS.FFFFFFF -HHMM. Esempio: "-05:30" indica il fuso orario GMT meno 5 ore e 30 minuti. timestamp2string ( timestamp_expression ) Restituisce un timestamp come stringa in formato YYYY-MM-DD HH:MM:SS.FFFFFFF. timestampTZ2string ( timestamp_time_zone_expression ) Restituisce il timestamp con il fuso orario come stringa in formato AAAA-MM-GG HH:MM:SS.FFFFFFF +HHMM o AAAA-MM-GG HH:MM:SS.FFF -HHMM. DTinterval2string ( date_time_interval_expression ) Restituisce un intervallo di data e ora come stringa in formato DDDD HH:MM:SS.FFFFFFF o -DDDD HH:MM:SS.FFF. DTinterval2stringAsTime ( date_time_interval_expression ) Restituisce un intervallo di data e ora come stringa in formato HHHH:MM:SS.FFFFFFF o HH:MM:SS.FFF. I giorni vengono convertiti in ore. int2DTinterval ( integer_expression , string_expression ) Converte un intero in un intervallo di data/ora. "string_expression" specifica l'elemento rappresentato da integer_expression: "ns" = nanosecondi, "s" = secondi (predefinito), "m" = minuti, "h" = ore, "d" = giorni. Esempio: int2DTinterval (1020,"h") Risultato: 42 giorni 12 ore Esempio: int2DTinterval (1020,"s") Risultato: 17 minuti mapNumberToLetter ( string_expression , integer_expression ) Aggiunge "integer_expression" a "string_expression". Esempio: mapNumberToLetter ( 'a' , 1 ) Risultato: b nullif ( string_expression1 , string_expression2 ) Restituisce NULL se "string_expression1" è uguale a "string_expression2" (non sensibile alle maiuscole/minuscole), altrimenti restituisce "string_expression1". mod ( integer_expression1 , integer_expression2 ) Restituisce un valore intero che rappresenta il resto (modulo) di "integer_expression1" diviso "integer_expression2". power ( numeric_expression1 , numeric_expression2 ) Restituisce "numeric_expression1" elevata alla potenza "numeric_expression2". Esempio: potenza ( 3 , 2 ) Risultato: 9 int2YMinterval ( integer_expression , string_expression ) Converte "integer_expression" in un intervallo mese anno. "string_expression" specifica l'elemento rappresentato da integer_expression: "a" = anni, "m" = mesi (predefinito). YMinterval2string ( year_month_interval_expression ) Restituisce "year_month_interval_expression" come stringa in formato (AA MM) o -(AA MM). number2string ( numeric_expression ) Converte "numeric_expression" in una stringa utilizzando l'identificatore di formato %g (sintassi C/C++). string2date ( string_expression ) Restituisce "string_expression" come data in formato AAAA-MM-GG. Restituisce "string_expression" come intervallo anno mese in formato [-]AA MM. string2YMinterval ( string_expression ) Restituisce "string_expression" come intervallo data/ora in formato [-]GG HH:MM[:SS[.FFF]]. string2DTinterval ( string_expression ) string2time ( string_expression ) Restituisce "string_expression" come ora in formato HH:MM:SS.FFFFFFF. string2timestamp ( string_expression ) Restituisce "string_expression" come timestamp in formato AAAA-MM-GG [T|t|[spazio bianco]+] HH:MM:SS.FFFFFFF. string2timestampTZ ( string_expression ) Restituisce "string_expression" in formato AAAA-MM-GG HH:MM:SS.FFFFFFF +HHMM o AAAA-MM-GG [T|t] HH:MM:SS.FFF -HHMM. string2double ( string_expression ) Restituisce un numero a virgola mobile. "string_expression" ha il seguente formato:"[spazio bianco] [segno] [cifre] [cifre] [ {d|D|e|E }[segno]cifre]" string2int64 ( string_expression ) Restituisce un intero lungo. "string_expression" presenta il seguente formato: "[spazio vuoto] [{+|-}] [cifre]" string2int32 ( string_expression ) Restituisce un intero. "string_expression" presenta il seguente formato: "[spazio vuoto] [{+|-}] [cifre]" date2timestamp ( date_expression ) Converte "espressione_data" in un timestamp. Le parte data/ora del timestamp sarà uguale a zero. timestamp2date ( timestamp_expression ) Converte "espressione_timestamp" in una data. Le parte data/ora del timestamp sarà ignorata. timestamp2timestampTZ ( timestamp_expression ) Converte "espressione_timestamp" in un timestamp con fuso orario. La parte spostata del timestamp con il fuso orario sarà uguale a zero. timestampTZ2timestamp ( timestamp_time_zone_expression ) Converte "espressione_fuso_orario_timestamp" in un timestamp. La parte spostata del timestamp con il fuso orario sarà ignorata. date2timestampTZ ( date_expression ) Converte "espressione_data" in un timestamp con un fuso orario. Le parti relative a data/ora e fuso orario del timestamp saranno uguali a zero. timestampTZ2date ( timestamp_time_zone_expression ) Converte "espressione_fuso_orario_timestamp" in una data. Le parti relative a data/ora e fuso orario di timestamp saranno ignorate. _add_days ( timestamp_expression , integer_expression ) Restituisce la data/ora risultante dall'aggiunta del numero di giorni indicato in "integer_expression" a "timestamp_expression". Esempio: _add_days ( 2007-01-14 00:00:00.000 , 3 ) Risultato: 2007-01-17 00:00:00.000 _add_months ( timestamp_expression , integer_expression ) Restituisce la data/ora risultante dall'aggiunta del numero di mesi indicato in "integer_expression" a "timestamp_expression". _add_years ( timestamp_expression , integer_expression ) Restituisce la data/ora risultante dall'aggiunta del numero di anni indicato in "integer_expression" a "timestamp_expression". _age ( timestamp_expression ) Restituisce un numero sottraendo "timestamp_expression" dalla data del giorno. Esempio: _age ([Query1].[Data]), dove [Query1].[Data] è 2 marzo 2004 e la data odierna è 8 luglio 2009 Risultato: 50,406, dove 5 è il numero di anni, 04 è il numero di mesi e 06 è il numero di giorni. _day_of_week ( timestamp_expression , integer_expression ) restituisce il giorno della settimana (tra 1 e 7) per "timestamp_expression" dove "integer_expression" indica a quale giorno della settimana corrisponde il giorno 1. Per determinare "integer_expression", scegliere il giorno della settimana e contare da lunedì, ad esempio se si sceglie mercoledì, "integer_expression" sarà 3 perché mercoledì è il terzo giorno dopo lunedì. Esempio: _day_of_week ( 2009-01-01 , 7 ), dove 7 indica che domenica è il primo giorno della settimana. Risultato: 5 _day_of_year ( timestamp_expression ) Restituisce il numero ordinale del giorno dell'anno in "espressione_timestamp" (da 1 a 366). È noto anche come giorno giuliano. _days_between ( timestamp_expression1 , timestamp_expression2 ) Restituisce un numero positivo o negativo che rappresenta il numero di giorni che intercorrono tra "timestamp_expression1" e "timestamp_expression2". Se "timestamp_expression1" < "timestamp_expression2", il risultato sarà un numero negativo. _days_to_end_of_month ( timestamp_expression ) Restituisce un numero che rappresenta il numero di giorni rimanenti del mese indicato in "timestamp_expression". _first_of_month ( timestamp_expression ) Restituisce una data/ora che coincide con il primo giorno del mese indicato in "timestamp_expression". Esempio: _first_of_month ( 2009-05-04 00:00:00.000 ) Risultato: restituisce 2009-05-01 00:00:00.000 Esempio: _first_of_month (data_corrente) Risultato: restituisce 1° luglio 2009 se la data corrente è 30 luglio 2009. _last_of_month ( timestamp_expression ) Restituisce una data/ora che coincide con l'ultimo giorno del mese indicato in "timestamp_expression". _make_timestamp ( integer_expression1 , integer_expression2 , integer_expression3 ) Restituisce un timestamp composto da "espressione1_numero_intero" (l'anno), "espressione2_numero_intero" (il mese) e "espressione3_numero_intero" (il giorno). Per impostazione predefinita, l'intervallo di tempo passa a 00:00:00.000. _months_between ( timestamp_expression1 , timestamp_expression2 ) Restituisce un numero positivo o negativo che rappresenta il numero di mesi che intercorrono tra "timestamp_expression1" e "timestamp_expression2". Se "timestamp_expression1" < "timestamp_expression2", il risultato sarà un numero negativo. _week_of_year ( timestamp_expression ) Restituisce il numero della settimana (1-53) dell'anno, rappresentato da "espressione_timestamp". Secondo ISO 8601, la settimana 1 dell'anno è la prima settimana dell'anno che contiene un giovedì, che equivale alla prima settimana che contiene il 4 gennaio. Una settimana inizia il lunedì (giorno 1) e finisce la domenica (giorno 7). _years_between ( timestamp_expression1 , timestamp_expression2 ) Restituisce un intero positivo o negativo che rappresenta il numero di anni che intercorrono tra "timestamp_expression1" e "timestamp_expression2". Se "timestamp_expression1" < "timestamp_expression2", viene restituito un valore negativo. _ymdint_between ( timestamp_expression1 , timestamp_expression2 ) Restituisce un numero che rappresenta la differenza tra "espressione1_timestamp" e "espressione2_timestamp". Questo valore è espresso nel formato AAAAMMGG, dove AAAA rappresenta il numero di anni, MM il numero di mesi e GG il numero di giorni. Esempio: _ymdint_between ( [Query1].[Data (data di chiusura)] , [Query1].[Data (data di spedizione)] ), dove [Query1].[Data (data di chiusura)] è il 20 febbraio 20, 2004 e [Query1].[Data (data di spedizione)] è il 19 gennaio, 2004. Risultato: 101, dove 1 è il numero di mesi e 01 è il numero di giorni. abs ( numeric_expression ) Restituisce il valore assoluto di "espressione_numerica". Se "espressione_numerica" è negativo, viene restituito un valore positivo. ceiling ( numeric_expression ) Restituisce il più piccolo numero intero maggiore o uguale a "numeric_expression". exp ( numeric_expression ) Restituisce la costante 'e' elevata a "espressione_numerica". La costante 'e' è la base del logaritmo naturale. Esempio: exp ( 2 ) Risultato: 7.389056 floor ( numeric_expression ) Restituisce il più grande numero intero minore o uguale a "numeric_expression". ln ( numeric_expression ) Restituisce il logaritmo naturale di "numeric_expression". round ( numeric_expression , integer_expression ) Restituisce "espressione_numerica" arrotondata al valore più vicino con "espressione_numero_intero" cifre significative a destra della virgola decimale. Se "espressione_numero_intero" è negativo, il valore di "espressione_numerica" viene arrotondato al valore assoluto più vicino con "espressione_numero_intero" cifre significative a sinistra della virgola decimale. L'arrotondamento viene eseguito prima che la formattazione venga applicata. Esempio: round (125, -1) Risultato: 130 sqrt ( numeric_expression ) Restituisce la radice quadrata di "espressione_numerica". "Espressione_numerica" non può essere un valore negativo. character_length ( string_expression ) Restituisce il numero di caratteri inclusi in "string_expression". extract ( date_part_expression , datetime_expression ) Restituisce un valore intero che rappresenta il valore di "espressione_datepart" in "espressione_data/ora". "Espressione_datepart" può essere anno, mese, giorno, ora, minuti o secondi. Esempio: extract ( 'year' ,string2timestamp( '2003-03-03 16:40:15.535' )) Risultato: 2003 Esempio: extract ( 'hour' ,string2timestamp( '2003-03-03 16:40:15.535' )) Risultato: 16 lower ( string_expression ) Restituisce "espressione_stringa" con tutti i caratteri in maiuscolo convertiti in minuscolo. Questa funzione compare nel report di esempio Report Prestazioni di vendita burst del package GO Data Warehouse (query). octet_lenght ( string_expression ) Restituisce il numero di byte inclusi in "string_expression". position ( string_expression1 , string_expression2 ) Restituisce il valore intero che rappresenta l'ubicazione di partenza di "espressione1_stringa" in "espressione2_stringa". Restituisce 0 se non viene trovato "espressione1_stringa". substring ( string_expression , integer_expression1 , integer_expression2 ) Restituisce la sottostringa di "string_expression" che inizia nell'ubicazione di "integer_expression1" per i caratteri di "integer_expression2" o alla fine di "string_expression" se il valore di "integer_expression2" è uguale a -1. Il primo carattere di "string_expression" si trova nell'ubicazione 1. substring ( [Vendite (analysis)].[Personale di vendita].[Personale di vendita].[Personale di vendita].[Codice di posizione], 3 , 5 ) Risultato: restituisce i caratteri da 3 a 7 dei codici posizione. trim ( trim_what_expression , match_character_expression , string_expression ) Restituisce "espressione_stringa" senza spazi iniziali e finali o senza i caratteri specificati in "espressione_carattere_corrispondenza". Indica l'elemento a cui fa riferimento "espressione_ elemento_elimina": "LEADING", "TRAILING" o "BOTH" (predefinito). "Espressione_carattere_corrispondenza" deve essere una stringa vuota per eliminare gli spazi o specificare un carattere da eliminare. upper ( string_expression ) Restituisce "string_expression" con tutti i caratteri in minuscolo convertiti in maiuscolo. status ( expression ) Restituisce lo stato di "expression". I valori possibili sono: 0 - OK, 1 - null, 2 - not available, 4 - divide by zero, 8 - overflow, 16 - security, 32 - error, 64 - new, 128 - sample, 256 - pending.