Funzione scalare WEEK_ISO

La funzione WEEK_ISO restituisce un numero intero compreso tra 1 e 53 che rappresenta la settimana dell'anno. La settimana inizia con il lunedì e comprende sette giorni. La settimana 1 è la prima settimana dell'anno che contiene un giovedì, che equivale alla prima settimana che contiene il 4 gennaio.

Leggere il diagramma della sintassiSalta diagramma di sintassi visivoWEEK_ISO( espressione)

Con la funzione WEEK_ISO, il primo, il secondo o il terzo giorno di gennaio potrebbero essere inclusi nell'ultima settimana dell'anno precedente. Allo stesso modo, l'ultimo, il penultimo o il terzultimo giorno di dicembre potrebbero essere inclusi nella prima settimana dell'anno successivo.

Lo schema è SYSIBM.

L'argomento deve essere una data, un timestamp o una rappresentazione valida di una data o di un timestamp. Una rappresentazione di stringa non deve essere un valore CLOB o DBCLOB e deve avere una lunghezza effettiva non superiore a 255 byte. Per i formati validi delle rappresentazioni stringa di date e timestamp, vedere Rappresentazioni stringa di valori datetime.

Se l'espressione è un timestamp con un fuso orario o una rappresentazione valida di una stringa di un timestamp con un fuso orario, il risultato è determinato dalla rappresentazione UTC del valore datetime.

Il risultato della funzione è un numero intero di grandi dimensioni.

Il risultato può essere nullo; se l'argomento è nullo, il risultato è il valore nullo.

Esempio 1 : utilizzando la tabella di esempio DSN8C10.PROJ, impostare la variabile host intera WEEKISO alla settimana dell'anno in cui è terminato il progetto " AD2100 ".
   SELECT WEEK_ISO(PRENDATE)
     INTO :WEEKISO
     FROM DSN8C10.PROJ
     WHERE PROJNO = 'AD2100';
Esempio 2 : Il seguente elenco mostra ciò che viene restituito dalla funzione WEEK_ISO per varie date.
   DATE:           WEEK_ISO returns:
   ---------------------------------
   2003-12-28      52
   2003-12-31       1
   2004-01-01       1
   2005-01-01      53
   2005-01-04       1
   2005-12-31      52
   2006-01-01      52
   2006-01-03       1 
Esempio 3 : Le seguenti invocazioni della funzione WEEK_ISO restituiscono lo stesso risultato:
SELECT WEEK_ISO('1993-08-10-20.00.00'), 
			WEEK_ISO('1993-08-10-20.00.00-08:00'), 
			WEEK_ISO('1993-08-10-20.00.00+09:00') 
		FROM SYSIBM.SYSDUMMY1;
Per ogni invocazione della funzione WEEK_ISO in questa istruzione SELECT, il risultato è 32.

Quando l'argomento di input contiene un fuso orario, il risultato è determinato dalla rappresentazione UTC del valore di input. Le rappresentazioni stringa di un timestamp con un fuso orario nell'istruzione SELECT hanno tutte la stessa rappresentazione UTC: ' 1993-08-10-20.00.00 '.