Funzioni CAST implicite per l'assegnazione

I valori possono essere assegnati ad una di tre entità.
Un campo di messaggi (o equivalente in un'eccezione o un elenco di destinazione)
Il supporto per la conversione implicita tra i tipi di dati WebSphere Message Broker ed il messaggio (nel relativo formato a flusso di bit) dipende dal programma di analisi appropriato. Ad esempio, il programma di analisi XML assegna qualsiasi elemento come stringhe di caratteri prima di inserire gli elementi nel messaggio WebSphere MQ.
Un campo in una tabella del database

WebSphere Message Broker converte ciascuno dei propri tipi di dati in un tipo di dati C SQL standard adatto, come descritto nella seguente tabella. La conversione tra tale tipo di dati C SQL ed i tipi di dati supportati da ciascun DBMS dipende dal DBMS. Per ulteriori informazioni, consultare la documentazione DBMS.

La tabella riportata di seguito elenca le conversioni disponibili dai tipi di dati WebSphere Message Broker a SQL

Tipo di dati WebSphere Message Broker Tipo di dati SQL
NULL, sconosciuto o valore non valido SQL_NULL_DATA
BOOLEAN SQL_C_BIT
INTEGER SQL_C_LONG
FLOAT SQL_C_DOUBLE
DECIMAL SQL_C_CHAR1
CHARACTER SQL_C_CHAR
TIME SQL_C_TIME
GMTTIME SQL_C_TIME
DATE SQL_C_DATE
TIMESTAMP SQL_C_TIMESTAMP
GMTTIMESTAMP SQL_C_DATE
INTERVAL Non supportato2
BLOB SQL_C_BINARY
BIT Non supportato2
Note:
  1. Per comodità, i valori DECIMAL vengono passati a DBMS in formato character.
  2. Non esiste un tipo di dati C SQL standard adatto per INTERVAL o BIT. Assegnare tali elementi ad un altro tipo di dati, ad esempio CHARACTER, se è necessario assegnarli ad un campo del database.
Una variabile scalare
Quando si esegue l'assegnazione ad una variabile scalare, se il tipo di dati del valore che si sta assegnando e quello della variabile di destinazione sono differenti, il sistema prova ad eseguire un'assegnazione implicita con le stesse limitazioni e lo stesso funzionamento specificati per la funzione CAST esplicita. L'unica eccezione è quando il tipo di dati della variabile è INTERVAL o DECIMAL.

In entrambi tali casi, il valore che si sta assegnando viene prima assegnato ad un valore CHARACTER e viene eseguito il tentativo di assegnare il valore CHARACTER a INTERVAL o DECIMAL. Ciò si verifica perché INTERVAL richiede un qualificatore e DECIMAL richiede valori di precision e scale. Tali valori devono essere specificati nell'assegnazione esplicita ma devono essere ottenuti dalla stringa di caratteri durante l'assegnazione implicita. Pertanto, un'ulteriore limitazione consiste nel fatto che, quando si esegue l'assegnazione implicita a una variabile INTERVAL, la stringa di caratteri deve avere il formato INTERVAL '<values>' <qualifier>. La forma abbreviata <values>, accettabile per l'assegnazione esplicita, non è accettabile in questo caso.

Concetti correlati
Panoramica di ESQL
Attività correlate
Sviluppo di ESQL
Riferimenti correlati
Funzioni ESQL complesse
Assegnazioni implicite
Funzioni CAST implicite per i confronti
Funzioni CAST implicite per le operazioni aritmetiche
Informazioni particolari | Marchi | Download | Libreria | Supporto | Commenti
Copyright IBM Corporation 1999, 2006 Ultimo aggiornamento: ago 17, 2006
ak05720_