Funzioni di libreria: calcoli su date |
Le funzioni che operano su date in realtà trattano stringhe, sebbene le interpretino in modo particolare.
Le funzioni in questa categoria sono influenzate dai valori di alcuni identificatori predefiniti:
MONTHS
è una stringa di 12 parole, separate da spazi o virgole, utilizzate come valori restituiti dalla funzione CMONTH; per esempio, per ottenere mesi di tre lettere con la chiamata CMONTH impostare preventivamente MONTHS come segue:
SET MONTHS = "Gen Feb Mar Apr Mag Giu Lug Ago Set Ott Nov Dic"
DAYS
è una stringa di 7 parole, separate da spazi o virgole, utilizzate come valori restituiti dalla funzione CDOW; per esempio, per ottenere giorni di tre lettere con la chiamata CDOW impostare preventivamente DAYS come segue:
SET DAYS = "Dom Lun Mar Mer Gio Ven Sab"
EPOCH
questo valore determina come devono essere interpretati gli anni nelle date contratte, cioé in quelle date in cui per l'anno sono utilizzate solo due cifre; in questo caso, se decine ed unità sono inferiori alle decine ed unità dell'anno di riferimento in EPOCH, viene assunto come riferimento il secolo successivo, altrimenti il secolo attuale; esempio:
SET EPOCH = 1970 CONSOLELN YEAR("01/01/69") ; Risultato: 2069 CONSOLELN YEAR("01/01/70") ; Risultato: 1970 CONSOLELN YEAR("01/01/97") ; Risultato: 1997
DATE_TYPE
questa variabile determina l'interpretazione delle stringhe per tutte le funzioni che operano su date; i valori possibili sono:
0 = formato americano - mm/dd/yy[yy]
1 = formato europeo - dd/mm/yy[yy];
2 = formato giapponese - yy[yy]/mm/dd;
se DATE_TYPE è impostato ad un valore diverso dai tre indicati, le date sono assunte in formato europeo.
Le funzioni in questa categoria sono:
ISDATE(d)
ritorna un valore logico che indica se d è una data corretta (interpretata in base a DATE_TYPE)
DAY(d)
ritorna il giorno del mese (1-31), -1 se la data è errata
DOW(d)
ritorna il giorno della settimana (1 = domenica, 7 = sabato, -1 = data errata)
CDOW(d)
ritorna il giorno della settimana in parola (utilizza DAYS), una stringa vuota se la data è errata
DOY(d)
ritorna il giorno dell'anno corrispondente alla data o 0 se la data è errata
MONTH(d)
ritorna il mese dell'anno (1 = gennaio .. 12 = dicembre, -1 = data errata)
CMONTH(d)
ritorna il mese dell'anno in parola (utilizza MONTHS), una stringa vuota se la data è errata
WOM(d)
ritorna la settimana dall'inizio del mese (le settimane iniziano il lunedì e finiscono la domenica)
YEAR(d)
ritorna l'anno della data (completo di secolo e millennio)
WOY(d)
ritorna la settimana dall'inizio dell'anno (le settimane iniziano il lunedì e finiscono la domenica)
ISLEAP(d)
ritorna un valore logico che indica se l'anno nella data d è bisestile
ADDDATE([@]d, nDays)
ritorna la data corrispondente alla data d incrementata (o decrementata, a seconda del segno) di nDays giorni; la data risultante ha lo stesso formato della data d (separatori, cifre per rappresentare l'anno) ed è vuota se d è errata
DIFFDATE(d1, d2)
ritorna i giorni corrispondenti alla differenza tra date d1 - d2; se d2 > d1, la differenza è negativa; se d1 o d2 non sono date corrette, ritorna 0
ADDMONTH([@]d, nMonths)
restituisce la data corrispondente alla data d incrementata (o decrementata, a seconda del segno di nMonths) di nMonths mesi; ritorna una stringa vuota in caso di errore
NEXTDAY([@]d, nDay)
ritorna la data corrispondente al successivo giorno nDay (1-7) dalla data d, una stringa vuota in caso di errore
PREVDAY([@]d, nDay)
ritorna la data corrispondente al precedente giorno nDay (1-7) dalla data d, una stringa vuota in caso di errore
EOM([@]d)
ritorna la data corrispondente alla fine del mese o una stringa vuota se la data è errata
BOM([@]d)
ritorna la data corrispondente all'inizio del mese o una stringa vuota se la data è errata
CONVDATE([@]d, nCurrDateType, nNewDateType)
ritorna la data d convertita dal tipo nCurrDateType al tipo nNewDateType; separatori e numero di cifre per l'anno risultano uguali a quanto presente in d; se d non è corretta, ritorna una stringa vuota; per una descrizione dei valori per nCurrDateType ed nNewDateType, si veda DATE_TYPE
DCONVDATE([@]d, nNewDateType)
ritorna la data d convertita dal tipo DATE_TYPE al tipo nNewDateType; separatori e numero di cifre per l'anno risultano uguali a quanto presente in d; se d non è corretta, ritorna una stringa vuota
FULLDATE([@]d)
ritorna la data d con l'anno esplicitato in base ad EPOCH, portato a 4 cifre; i separatori utilizzati sono quelli in d; se d non è corretta, ritorna una stringa vuota. Utilizzare FULLDATE(DATE()) per ottenere la data corrente con anno di quattro cifre
SHRINKDATE([@]d)
ritorna la data d con il minor numero possibile di cifre per rappresentare l'anno (minimo 2), oppure una stringa vuota se d non è corretta; i separatori utilizzati sono quelli in d
Inizio pagina | Prossimo argomento | Argomento precedente | Indice per argomenti | Indice analitico |