HYYWD: Restituzione del numero di anno e settimana da un valore data-ora

Come:

Il numero della settimana restituita da HNAME e HPART è in grado di trovarsi nell'anno precedente o di seguito della data di immissione.

La funzione HYYWD restituisce sia il numero anno che settimana da un dato valore data-ora.

L'emissione viene modificata per essere conforme al formato standard ISO per date con numeri di settimana, yyyy-Www-d.


Inizio pagina

x
Sintassi: Come restituire il numero di anno e settimana da un valore data-ora
HYYWD(dtvalue, output)

dove:

dtvalue

Data-ora

Il valore data-ora da modificare, il nome di un campo data-ora che contiene il valore, o una espressione che restituisce il valore.

emissione

Alfanumerico

Il campo che contiene il risultato o formato del valore di emissione racchiuso tra virgolette singole.

Il formato di emissione deve essere lungo almeno 10 caratteri. L'emissione si trova nel seguente formato:

yyyy-Www-d

dove:

yyyy

L'anno a quattro cifre.

ww

Il numero della settimana a due cifre (01 a 53).

d

Il giorno della settimana a cifra unica (1 a 7). IL valore d è relativo all'impostazione WEEKFIRST corrente. Se WEEKFIRST è 2 o ISO2 (Lunedì), Lunedì viene rappresentato nell'emissione come 1, Martedì come 2.

Usando la funzione EDIT, è possibile estrarre i campi secondari individuali da questa emissione.



Esempio: Restituzione del numero di anno e settimana da un valore data-ora

La seguente richiesta rispetto all'origine dati VIDEOTR2 chiama HYYWD per convertire il campo data-ora TRANSDATE nel formato standard ISO per date con numeri settimane. WEEKFIRST è impostato su ISO2, che produce numerazione settimanale standard ISO:

SET WEEKFIRST = ISO2
TABLE FILE VIDEOTR2
SUM TRANSTOT QUANTITY
COMPUTE ISODATE/A10 = HYYWD(TRANSDATE, 'A10');
BY TRANSDATE
WHERE QUANTITY GT 1
END

L'emissione è:

TRANSDATE         TRANSTOT  QUANTITY  ISODATE   
---------         --------  --------  -------   
1991/06/24 04:43     16.00         2  1991-W26-1
1991/06/25 01:17      2.50         2  1991-W26-2
1991/06/27 02:45     16.00         2  1991-W26-4
1996/08/17 05:11      5.18         2  1996-W33-6
1998/02/04 04:11     12.00         2  1998-W06-3
1999/01/30 04:16     13.00         2  1999-W04-6
1999/04/22 06:19      3.75         3  1999-W16-4
1999/05/06 05:14      1.00         2  1999-W18-4
1999/08/09 03:17     15.00         2  1999-W32-1
1999/09/09 09:18     14.00         2  1999-W36-4
1999/10/16 09:11      5.18         2  1999-W41-6
1999/11/05 11:12      2.50         2  1999-W44-5
1999/12/09 09:47      5.18         2  1999-W49-4
1999/12/15 04:04      2.50         2  1999-W50-3


Esempio: Estrazione di un componente da una data restituita da HYYWD

La seguente richiesta rispetto all'origine dati VIDEOTR2 chiama HYYWD per convertire il campo data-ora TRANSDATE nel formato standard ISO per date con numeri settimana. Tale richiesta usa, quindi, la funzione EDIT per estrarre il componente settimana da questa data. WEEKFIRST è impostato su ISO2, che produce numerazione settimanale standard ISO:

SET WEEKFIRST = ISO2
TABLE FILE VIDEOTR2
SUM TRANSTOT QUANTITY
COMPUTE ISODATE/A10 = HYYWD(TRANSDATE, 'A10');
COMPUTE WEEK/A2 = EDIT(ISODATE, '$$$$$$99$$');
BY TRANSDATE 
WHERE QUANTITY GT 1 AND DATE EQ 1991
END

L'emissione è:

TRANSDATE         TRANSTOT  QUANTITY  ISODATE     WEEK
---------         --------  --------  -------     ----
1991/06/24 04:43     16.00         2  1991-W26-1  26
1991/06/25 01:17      2.50         2  1991-W26-2  26
1991/06/27 02:45     16.00         2  1991-W26-4  26

WebFOCUS