Campi packed AS/400

Francesco Airoldi

Campi packed AS/400
Dal collega Massimo Marasco (supporto i-Series), che ringrazio, ricevo
questa email che volentieri pubblico sul listerver DUGI.

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------
.......
abbiamo provato su i5/OS lo statement SQL suggerito per DB2 per zOS:

SELECT
CASE
WHEN RIGHT(HEX(STRINGA),1) = 'C' THEN
DECIMAL(LEFT(HEX(STRINGA),LENGTH(HEX(STRINGA))-1))
ELSE
DECIMAL(LEFT(HEX(STRINGA),LENGTH(HEX(STRINGA))-1)) * -1
END AS NUMERO
FROM mytable
WITH UR;

funziona anche con DB2 UDB per i5/OS a patto di:

1 - Sostituire 'C' con 'F' per identificare il numero positivo;
2 - il campo STRINGA deve essere della lunghezza giusta, ovvero se il campo
PACKED e' lungo N, il campo STRINGA deve essere lungo (N/2 + 1)

Cordiali saluti - Best regards
Massimo Marasco
___________________________________________
Certified IT Specialist
System i Technical Support
IBM Italy
Circonvallazione Idroscalo
20090 Segrate
Tel.: +39 02 596 20453
Mobile: +39 335 5693755

---------------------------------------------------------------------------------
Benvenuti alla lista DB2 User Group Italia.Per annullare l ' iscrizione collegarsi a : http://www.idugdb2-l.org/archives/DB2-UG-Italy.html. Selezionare "Join or Leave the list". Per consultare le IDUG Listserv FAQ collegarsi a :http://www.idugdb2-l.org. L'amministratore della lista DB2 User Group - Italy può essere raggiunto al seguente indirizzo: [login to unmask email] Per sapere le ultime novità sulle conferenze IDUG potete consultare : http://conferences.idug.org/index.cfm

Massimo Deambrogio

Re: Campi packed AS/400
(in response to Francesco Airoldi)
Grazie a tutti,
ho testato quest'ultima e funziona

massimo

Francesco Airoldi ha scritto:
> Dal collega Massimo Marasco (supporto i-Series), che ringrazio, ricevo
> questa email che volentieri pubblico sul listerver DUGI.
>
> ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------
> .......
> abbiamo provato su i5/OS lo statement SQL suggerito per DB2 per zOS:
>
> SELECT
> CASE
> WHEN RIGHT(HEX(STRINGA),1) = 'C' THEN
> DECIMAL(LEFT(HEX(STRINGA),LENGTH(HEX(STRINGA))-1))
> ELSE
> DECIMAL(LEFT(HEX(STRINGA),LENGTH(HEX(STRINGA))-1)) * -1
> END AS NUMERO
> FROM mytable
> WITH UR;
>
> funziona anche con DB2 UDB per i5/OS a patto di:
>
> 1 - Sostituire 'C' con 'F' per identificare il numero positivo;
> 2 - il campo STRINGA deve essere della lunghezza giusta, ovvero se il campo
> PACKED e' lungo N, il campo STRINGA deve essere lungo (N/2 + 1)
>
> Cordiali saluti - Best regards
> Massimo Marasco
> ___________________________________________
> Certified IT Specialist
> System i Technical Support
> IBM Italy
> Circonvallazione Idroscalo
> 20090 Segrate
> Tel.: +39 02 596 20453
> Mobile: +39 335 5693755
>
> ---------------------------------------------------------------------------------
> Benvenuti alla lista DB2 User Group Italia.Per annullare l ' iscrizione collegarsi a : http://www.idugdb2-l.org/archives/DB2-UG-Italy.html. Selezionare "Join or Leave the list". Per consultare le IDUG Listserv FAQ collegarsi a :http://www.idugdb2-l.org. L'amministratore della lista DB2 User Group - Italy può essere raggiunto al seguente indirizzo: [login to unmask email] Per sapere le ultime novità sulle conferenze IDUG potete consultare : http://conferences.idug.org/index.cfm

--

---------------------------------------------------------------------------------
Benvenuti alla lista DB2 User Group Italia.Per annullare l ' iscrizione collegarsi a : http://www.idugdb2-l.org/archives/DB2-UG-Italy.html. Selezionare "Join or Leave the list". Per consultare le IDUG Listserv FAQ collegarsi a :http://www.idugdb2-l.org. L'amministratore della lista DB2 User Group - Italy può essere raggiunto al seguente indirizzo: [login to unmask email] Per sapere le ultime novità sulle conferenze IDUG potete consultare : http://conferences.idug.org/index.cfm